UniversitŽ Paris Descartes

Projet SŽcuritŽ M2 RIP

ZUO Tan

AnnŽe 2011-2012

 

Maltego

1.  Introduction

Avec la croissance continue dĠune organisation, les personnes et les matŽriels dŽployŽs, trouver les informations utiles sera de plus en plus compliquŽ. Pour trouver les informations cachŽes et les relations non visibles dans toutes les ressources sur lĠinternet, il faut avoir un outil simple et efficace. Des donnŽes sur rŽseau sont hyper Žnormes, comment un hacker peut assurer quĠil a trouvŽ les informations exactes avant faire les choses mŽchantes ? Non seulement que pour ramasser toutes les informations, mais il faut tre intelligents et confidentiel.

 

Maltego nĠest pas un outil pour hacker, il sert ˆ collecter les informations sur lĠinternet. Par exemple, il peut trouver toutes les donnŽes d'une personnelle en ligne, y compris lĠadresse e-mail, le blog, ses amis de Facebook, les prŽfŽrences personnelles, sa localisation, sa description de poste, etc. Puis, il peut les afficher en utilisant ses mŽthodes utiles et propres.

 

Avantage Maltego

DŽmontrer la complexitŽ et la gravitŽ des points dŽfaillants ainsi que des relations confidentielles qui existent actuellement dans les infrastructures.

 

2.  Installation de Maltego

Ż BackTrack

Le logiciel Maltego est un outil qui est dŽjˆ intŽgrŽ dans le systme dĠexploitation BackTrack, comme jĠai dŽjˆ installŽ BackTrack 5 sur la machine virtuelle, simplement pour le voir :

 

 

Ż Windows, Linux et Mac OS

Allez au site http://www.paterva.com pour tŽlŽcharger gratuitement les plusieurs types de Maltego sous le systme dĠexploitation diffŽrent. Mais attention, il existe deux versions de Maltego : community edition et commercial version. Voici un tableau explique les fonctionnalitŽs diffŽrentes entre ces deux versions :

 

community edition

commercial version

Not for commercial use!

Can be used for commercial use

Maximum of 12 results per transform

No limit on number of returned entities per transform

need to register on our website to use the client

API keys expire every couple of days

Runs on a (slower) server that is shared with all community users

Runs on a much more powerful server (eg. faster)

Communication between client as server is not encrypted

Communication between client and server runs over SSL

Not updated until the next major version

(and we know there are some bugs)

Version 3.0.1 coming soon (includes printing and reporting)

No end user support – you are on your own..

Server is only shared by commercial users

No updates of transforms on server side

Updates as they happen – both on client and server

Can only discover from online Paterva servers

Can be used with any Maltego server

Free!

$650 USD for first year, $320 USD per year thereafter.

 

Dans notre exemple, jĠai installŽ la version community edition sous Windows :

 

                                 

 

Plus simplement, suivi lĠinterface dĠinstallation, quelques minutes plus tard, lĠinstallation est rŽussite. Voici lĠinterface du logiciel Maltego :

 

 

3.  Maltego Transforms

Les transformations sont les mŽthodes de la recherche pour chaque entitŽ, ils se servent ˆ trouver les informations correspondantes. Dans la liste dĠentitŽ et la liste de la transformation par dŽfaut, elles ont dŽjˆ plusieurs types, mais jĠai trouvŽ un nouveau package qui ajoutŽ quelques type dĠentitŽ et de la transformation : 

http://www.backtrack-linux.org/forums/old-announcements/17023-maltego-ce-transform-update.html?langid=6

 

Liste dĠentitŽ :

 

Liste de la transformation pour chaque entitŽ :

Ż  Infrastructure

AS (Internet Autonomous System)

*  To Netblocks in this AS [Robtex]: montrer quels routes sont situŽes dans un nombre AS en regardant sur Robtex (www.robtex.com ).

DNS Name

*  To Domains [DNS]: extraire tous les domaines ˆ partir d'un nom DNS.

*  To IP Address [DNS]: une transformation simple qui cherche une adresse IP par un nom DNS.

*  To Web site [Query port 80]: cette transformation convertit essentiellement de nom DNS au site web, utilise que le port 80.

Domain

*  To MX (mail server) [DNS]: dŽterminer si un serveur du mail existe ou non dans le domaine donnŽ.

*  To NS (name server) [DNS]: dŽterminer si un serveur du nom existe ou non dans le domaine donnŽ.

*  To DNS Name [Attempt zone transfer]: essayer de chercher une zone de transfert (AXFR) sur le domaine.

*  To DNS Name [Find common DNS names]: vise ˆ trouver des noms DNS pour le domaine spŽcifiŽ.

*  To DNS Name [Name Schema]: essayer de chercher touts les noms de DNS qui contient une liste de mots donnŽe.

*  To Domain [Find other TLDs]: essayer de trouver des domaines avec des TLDs diffŽrentes en cherchant sur ServerSniff (www.serversniff.de).

*  To Email address [From whois info]: effectuer une requte rŽcursive sur le domaine fourni et analyser la sortie d'adresse e-mail.

*  To Email addresses [PGP]: contacter un serveur de clŽs publiques PGP et rŽcupre les adresses e-mails contenant le domaine donnŽ.

*  To Email addresses [using Search Engine]: rechercher le domaine et montrer les adresses e-mails liŽes.

Remarque : ˆ cause de la version non commerciale, les rŽsultats trouvŽs sont limitŽs ˆ 12 pour chaque entitŽ.

*  To Emails @domain [using Search Engine]: rechercher les adresses e-mails contenant le nom de domaine.

*  To Entities (NER) [Alchemy and OpenCalais] via whois: effectuer NER (Named Entity Recognition) sur les informations whois du domaine, ses produits peuvent extraire les noms de personne, les entreprises ou les organisations, les numŽros de tŽlŽphone et l'emplacement du texte.

*  To Files (Interesting) [using Search Engine]: cette transformation va rechercher les emplacements des fichiers intŽressants qui sont hŽbergŽs sur des sites web dans ce domaine.

*  To Files (Office) [using Search Engine]: cette transformation va rechercher les emplacements des documents (office) qui sont hŽbergŽs sur des sites web dans ce domaine.

*  To Person [PGP]: consulter les clŽs publiques au serveur PGP et retourner lĠentitŽ de la personne avec des adresses e-mails qui sont situŽs dans le domaine donnŽ.

*  To Phone Numbers [using Search Engine]: rechercher sur le domaine donnŽ par les moteurs de recherche et afficher les numŽros de tŽlŽphone associŽs.

*  To Phone numbers [From whois info]: effectuer une requte rŽcursive sur le domaine fourni et analyser la sortie des numŽros de tŽlŽphone.

*  To Website DNS [using Search Engine]: interroger les moteurs de recherche pour les sites web et de retourner les sites web comme des entitŽs du site.

*  To Website [Quick lookup]: chercher rapidement pour voir si le DNS existe.

*  To Website [using Search Engine]: rechercher les sites web o le nom de domaine existe.

 

IPv4 Address

*  To DNS Name [Other DNS names]: effectuer une recherche inversŽe sur une adresse IP (gŽnŽralement appartenant ˆ un site web) en le regardant sur ServerSniff et Robtex.

*  To DNS Name [Reverse DNS]: utiliser le DNS inversŽe standard pour dŽterminer le nom DNS associŽ ˆ l'adresse IP.

*  To Domain [Sharing this MX]: effectuer des recherches sur ServerSniff et Robtex pour voir quels domaines partagent le mme numŽro IP comme un enregistrement du serveur dĠe-mail.

*  To Domain [Sharing this NS]: effectuer des recherches sur ServerSniff et Robtex pour voir quels domaines partagent le mme numŽro IP comme un enregistrement du serveur du nom.

*  To Email address [From whois info]: obtenir des informations whois du numŽro IP, puis analyser les adresses e-mails.

*  To Entities (NER) [Alchemy and OpenCalais] via whois: obtenir des informations whois du numŽro IP, puis les analyser pour les entitŽs en utilisant NER.

*  To Geo location [whoisAPI]: utiliser une API du renseignement du nom qui fournir la localisation gŽographique de l'adresse IP.

*  To Netblock [Blocks delegated to this IP as NS]: chercher sur la base de donnŽes Robtex pour dŽterminer quels rŽseaux ont les DNS dŽlŽguŽs ˆ cette adresse IP.

*  To Netblock [Natural boundaries]: renvoyer une netblock (plage d'adresses IP) en regardant simplement ˆ la limite du rŽseau naturel de l'adresse IP.

*  To Netblock [Using routing info]: dŽterminer le bloc rŽseau qui est appartenu dĠune adresse IP en cherchant les tables de routage au ServerSniff.

*  To Netblock [Using whois info]: dŽterminer le rŽseau associŽ (plage d'adresses IP) d'une adresse IP en faisant une recherche sur whois et analyser les informations.

*  To Telephone Number [From whois info]: effectuer une requte rŽcursive whois sur l'adresse IP et analyser la sortie des numŽros de tŽlŽphone.

*  To Website where IP appears [using Search Engine]: rechercher par l'adresse IP pour montrer cette lĠadresse IP apparait dans quels sites web.

 

MX Record

*  To Domain [DNS] : extraire un domaine ˆ partir d'une entitŽ du serveur mail.

*  To Domains [Sharing this MX]: dŽterminer quels autres domaines qui utilisent ce nom DNS comme un serveur mail.

*  To IP Address [DNS]: chercher une adresse IP dĠun serveur mail en utilisant DNS plaine vieux.

 

NS Record

*  To Domain [DNS]: extraire un domaine ˆ partir d'une entitŽ du serveur de nom.

*  To Domains [ Sharing this NS]: dŽterminer quels autres domaines qui utilisent ce nom DNS comme un serveur de nom.

*  To IP Address [DNS]: chercher une adresse IP dĠun serveur de nom en utilisant DNS plaine vieux.

*  To Netblock [Blocks delegated to this NS]: contacter avec Robtex et dŽterminer si le serveur de nom a toute netblocks DNS qui lui sont dŽlŽguŽes.

 

Netblock 

*  To AS number: dŽterminer le numŽro du rŽseau fourni pour le systme autonome (AS)

*  To DNS Names in netblock [Reverse DNS]: demander ˆ tous les enregistrements DNS du fichier historique sur le rŽseau fourni.

*  To Entities (NER) [Alchemy and OpenCalais via whois: obtenir des informations whois du netblock (ainsi la premire adresse IP dans le bloc), puis analyser pour les entitŽs en utilisant NER.

*  To Geo location: dŽterminer l'emplacement des pays de netblock.

 

URL

*  To Email Addresses [Found on web page]: chercher les adresses e-mails sur l'adresse URL.

*  To Entities (NER) [OpenCalais and Alchemy API]: utiliser Natural Language Processing (NLP / TNS) pour extraire les entitŽs.

*  To Phone number [Found on this web page]: chercher les numŽros de tŽlŽphone sur l'URL.

*  To URL [incoming links found to this web page]: chercher les URL entrantes vers une URL en regardant sur un moteur de recherche.

*  To Website [Convert]: convertir une URL vers un site web.

*  To Website [Links on this web page]: chercher les liens sortants sur l'URL et leur montrer que les sites web.

 

Website

*  Mirror: Email addresses found: faire un miroir (partielle) du site web et extraire toutes les adresses Žlectroniques trouvŽes sur le site.

*  Mirror: External links found: faire un miroir (partielle) du site web et extraire tous les liens externes trouvŽs sur le site.

*  To Domains [DNS]: retourner un domaine par un site web fourni.

*  To IP Address [DNS]: chercher lĠadresse du site web.

*  To URLs [show Search Engine results]: dŽcharges les URL collectŽes ˆ partir d'un moteur de recherche.

*  To Website [Incoming links to site]: trouver les liens entrants vers un site en recherchant sur un moteur de recherche.

*  To Website [Replace with thumbnail] : demander Thumbshot.org si elle a une petite image (vignette) de la page de couverture du site, si oui, il va changer l'ic™ne de l'entitŽ par cette image du site.

*  To Website title: retourner le titre de premire page du site comme une entitŽ Titre web.

 

Ż  Personal

Document

*  Parse meta information: tŽlŽcharger le document ˆ l'URL spŽcifiŽe et extraire les mŽta-informations.

*  To URL [Show SE results]: ramasser lĠURL du document pour une utilisation ultŽrieure.

 

Email Address

*  To Domain [DNS]: retourner le domaine pour l'adresse e-mail.

*  To Email Addresses [PGP]: interroger l'un des serveurs clŽ publique PGP et retourner les autres adresses e-mails qui utilisent la mme clŽ publique.

*  To Email Addresses [using Search Engine]: rechercher l'adresse e-mail et montrer les adresses e-mails liŽes.

*  To Person [PGP]: chercher sur un serveur de clŽs publiques PGP pour obtenir les informations dĠune personne.

*  To Phone number [using Search Engine]: chercher l'adresse e-mail fournit et montrer les numŽros de tŽlŽphone associŽs.

*  To URLs [Show search engine results]: chercher les URL collectŽes par le moteur de recherche.

*  To Website [using Search Engine]: chercher l'adresse e-mail et montre les sites o elles sont existŽes.

*  Verify email address exists [SMTP]: connecter au serveur de messagerie pertinente et vŽrifier si l'adresse e-mail existe.

 

Person

*  To Email Address [PGP]: demander un serveur de clŽs publiques PGP pour voir si le nom de la personne existe dans la base de donnŽes.

*  To Email Address [Verify common]: tester gratuitement sur le fournisseur de messagerie pour les combinaisons de nom de la personne.

*  To Email Address [using Search Engine]: faire des recherches pour l'adresse e-mail de la personne la plus probable.

*  To Person [PGP (signed)]: contacter un serveur de clŽs publiques PGP et renvoyer les noms des personnes qui ont signŽ par la clŽ de la personne donnŽ.

*  To Phone Number [using Search Engine]: chercher les numŽros de tŽlŽphone de la personne associŽe.

*  To Website [using Search Engine]: montrer les sites o les diverses permutations du nom de la personne ont ŽtŽ trouvŽes.

Phone Number

*  To Email Address [using Search Engine]: faire des recherches pour le numŽro de tŽlŽphone et retourner les adresses e-mails liŽes.

*  To Phone Number [using Search Engine]: faire des recherches pour le numŽro de tŽlŽphone et retourner les numŽros de tŽlŽphone liŽs

*  To URL [Show Search Engine results]: chercher les URL collectŽes par le moteur de recherche.

*  To Website [using Search Engine]: faire des recherches pour le numŽro de tŽlŽphone et retourner des sites connexes.

Remarque : ƒtant donnŽ que limitations de ressource dans ce logiciel non commerciale, jĠai essayŽ plusieurs types de transformation pour un numŽro de tŽlŽphone comme dessus, les processus marchent trs lent et toujours ne trouvent pas les rŽsultats.

 

 

Phrase

*  To Email Addresses [using Search Engine]: chercher la phrase et montrer les adresses e-mails connexes.

*  To Entities (NER) [Alchemy and OpenCalais]: chercher le mot clŽ entrŽ, extraire les rŽsultats ˆ partir toutes les URL, puis de visiter chaque page et effectuer NER sur chaque page.

*  To Files (Interesting) [using Search Engine]: chercher la phrase donnŽe et afficher les fichiers intŽressants contenant le terme.

*  To Files (Office) [using Search Engine]: chercher la phrase donnŽe et de montrer les documents (format Office, par exemple) contenant le terme.

*  To Telephone numbers [using Search Engine]: chercher la phrase et indique les numŽros de tŽlŽphone liŽs.

*  To Tweets [Search Twitter]: faire des recherches pour une phrase sur Twitter et afficher les entrŽes pertinentes.

*  To Website [using Search Engine]: chercher la phrase fournit et montrer les sites o cette phrase appara”t.

*  To related phrase: chercher toutes les phrases reliŽes ˆ la phrase donnŽe.

Remarque : mme situation comme les entitŽs du numŽro de tŽlŽphone, je nĠai pas rŽussi de tester.

 

Twit

*  To Twitter Affiliation [Convert]: convertir un twit ˆ une entitŽ Twitter Affiliation.

*  To URL(s) [Found in these Tweets]: essayer de la mine URL ˆ partir de Twitter, et aussi cette transformation peut chercher le plus court URL possible.

 

Affiliation-Twitter

*  To AffTwitter [Get details of ID holder]: trouver en dŽtail sur une entitŽ Twitter.

*  To AffTwitter [This person received Tweets from?]: trouver ce qui Žcrit Tweets ˆ cette personne.

*  To AffTwitter [This person wrote Tweets to?]: trouver ˆ qui cette personne Žcrit Tweets.

*  To Person [Convert]: convertir l'affiliation ˆ une personne avec l'alias.

*  To Tweets [That this person wrote]: trouver les messages Twitter d'un mme utilisateur.

*  To Tweets [Written to this person]: trouver les autres personnes qui envoient les messages ˆ cette personne.

*  To followers of this person: trouver toutes les autres personnes qui regardent toujours des nouvelles de cette personne.

*  To friends of this person: trouver touts les amis de cette personne.

Description : image104.png

Remarque : ˆ cause de quelques problmes imprŽvus, je nĠai pas rŽussi ˆ la fin.

 

Affiliation-Facebook

*  To Person From Profile: chercher les informations de cette personne sur facebook.

*  To Profile Image: chercher les images de cette personne sur facebook.

       Remarque : dans cette version de Maltego, il existe que deux transformations par dŽfaut pour instant.

4.  Un exemple

Une question, le domaine univ-paris5.fr et le domaine parisdescartes.fr sont pareilles? Si non, est-ce quĠil existe quelques information associŽes? Je ne connais pas toujours quels diffŽrences ou quelles ses fonctionnalitŽs pour chaque domaine. Donc, en utilisant Maltego je vous montre un exemple complexe pour savoir les informations cachŽes.

Selon la figure nous montre, on sait quĠil existe les relations entre ces domaines. Par exemple : quelques DNS Name sont dans une mme adresse IP. Plus simplement, on a deux serveurs DNS qui chargent ces deux domaines.

On se concerne le serveur DNS descartes0.math-info.univ-paris5.fr dans le quel on peut savoir que plusieurs domaines sont hŽbergŽs. (Version limitŽ ˆ afficher les rŽsultats, plus que la figure dessous montre):

On va chercher les adresses e-mails dans le domaine math-info.univ-paris5.fr, il afficher les rŽsultats comme la figure dessous montre, que quatre lĠadresse e-mail.

Maintenant, on va voir qui est ces personnes possŽdant ces adresses e-mails :

JusquĠˆ cette Žtape, on peut trs bien voir les rŽsultats trouvŽs ne sont pas confidentiels.

 

5.  Conclusion

Maltego parfois me donne des rŽsultats qui semblent vraiment faux et certaines entitŽs sont difficiles ˆ analyser, par exemple : numŽro de tŽlŽphone dĠune personne, mais il faut garder lĠesprit dĠapplication : il vous dŽjˆ donne les informations optimales. Mme si les rŽsultats pour instant ne satisfait pas pour un rechercher prŽcise, avec les efforts des dŽveloppeurs, ce logiciel va devenir plus confidentiel, au moins il a dŽjˆ avancŽ notre rechercher.

 

Dans ce projet, je vous explique simplement et clairement des fonctionnalitŽs du logiciel Maltego avec plusieurs exemples, mais ˆ cause de la limitation du logiciel utilisŽ, il existe quelques points ne sont pas touchŽs, par exemple, commet dŽfinir les entitŽs et les transformations propres, comment interroger une base de donnŽe propre pour chercher les informations, etc. De toute faon, ce tutorial permette vous montrer les connaissances fondamentales sur Maltego.

 

6.  Bibliographies

Ç Maltego 3 GUI Guide È

Ç Maltego 3 Transform Guide È

http://www.paterva.com/web5/

http://maltego.blogspot.com/