Projet Security_ Mal.. - Master 2 RIP

Transcription

Projet Security_ Mal.. - Master 2 RIP
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
Not for commercial use!
Maximum of 12 results per transform
commercial version
Can be used for commercial use
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
Not updated until the next major version
(and we know there are some bugs)
No end user support – you are on your own..
No updates of transforms on server side
Can only discover from online Paterva servers
Free!
Communication between client and server runs over SSL
Version 3.0.1 coming soon (includes printing and reporting)
Server is only shared by commercial users
Updates as they happen – both on client and server
Can be used with any Maltego server
$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.
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/

Documents pareils

Chapitre 5 : Résolution de noms d`hôtes à l`aide du système DNS

Chapitre 5 : Résolution de noms d`hôtes à l`aide du système DNS Le serveur DNS doit absolument fournir un résultat au client pour ce type de requête. Dans le cas où il ne possède pas de réponse à la requête, le serveur DNS va effectuer, pour le compte du client...

Plus en détail