Rapport du projet Backtrack



Documents pareils
Audit de sécurité avec Backtrack

Protection des protocoles

Fonctionnement de Iptables. Exercices sécurité. Exercice 1

Nmap (Network Mapper) Outil d exploration réseau et scanneur de ports/sécurité

DenyAll Detect. Documentation technique 27/07/2015

Sécurité des réseaux Les attaques

Fingerprinting d'applications Web

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Etude de la pertinence et de l'intérêt des appliances WAF (IPS web) à l'inria

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

L3 informatique TP n o 2 : Les applications réseau

Serveurs de noms Protocoles HTTP et FTP

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

Le scan de vulnérabilité

Devoir Surveillé de Sécurité des Réseaux

Réalisation d un portail captif d accès authentifié à Internet

Topologies et Outils d Alertesd

Réseau - Sécurité - Métrologie - Data Center. Le leader du marché allemand des UTM débarque en France avec des arguments forts!

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

Services Réseaux - Couche Application. TODARO Cédric

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Retour d expérience sur Prelude

Introduction. Adresses

Réseaux. 1 Généralités. E. Jeandel

L3 informatique Réseaux : Configuration d une interface réseau

Figure 1a. Réseau intranet avec pare feu et NAT.

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Tutoriel XBNE Connexion à un environnement XBMC distant

SECURIDAY 2013 Cyber War

DIGITAL NETWORK. Le Idle Host Scan

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Table des matières. Avant-propos... Préface... XIII. Remerciements...

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Gestion centralisée d un réseau de sites discrets. Nicolas JEAN

SECURIDAY 2012 Pro Edition

Protocoles Applicatifs

Accès aux ressources informatiques de l ENSEEIHT à distance

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Couche application. La couche application est la plus élevée du modèle de référence.

Netfilter & Iptables. Théorie Firewall. Autoriser le trafic entrant d'une connexion déjà établie. Permettre le trafic entrant sur un port spécifique

BAP E Gestionnaire de parc informatique et télécommunications MI2 / MI3 Ouverts au titre de 2010 Arrêté du 7/04/10 - J.

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

La Sécurité des Données en Environnement DataCenter

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Tutoriel sur Retina Network Security Scanner

TEST D INTRUISION. Document Technique

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

Rappels réseaux TCP/IP

Sécurité des réseaux Firewalls

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Guide Installation Serveur Extensive Testing

FORMATION PROFESSIONNELLE AU HACKING

GENERALITES. COURS TCP/IP Niveau 1

Quelques protocoles et outils réseaux

Tous les logiciels cités dans ce document sont des marques déposées de leurs propriétaires respectifs

Formation en Sécurité Informatique

La collecte d informations

SSH, le shell sécurisé

LOSLIER Mathieu. Filière Informatique et Réseau 1 ère année. TP DNS. Responsable : LOHIER Stephane. Chargé de TD : QUIDELLEUR Aurélie

Étude de l application DNS (Domain Name System)

Installation d un serveur virtuel : DSL_G624M

DIFF AVANCÉE. Samy.

1 Configuration des Fichiers Hosts, Hostname, Resolv.conf

Rapport d audit de sécurité

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec

Rapport de certification ANSSI-CSPN-2011/14. Fonctionnalités de pare-feu de StoneGate Firewall/VPN build 8069

Guide Installation Serveur Extensive Testing

MSP Center Plus. Vue du Produit

Supplément de renseignements : Examens d applications et pare-feux d applications web clarifiés Normes : Normes en matière de sécurité des données de

Configurer OCS Inventory NG comme outil d inventaire

Sécuriser son réseau. Sécuriser son réseau Philippe Weill (IPSL/LATMOS) Frédéric Bongat (SSI/GOUV/FR)

Atelier Pivoting KHOULOUD GATTOUSSI (RT3) ASMA LAHBIB (RT3) KHAOULA BLEL (RT3) KARIMA MAALAOUI (RT3)

Cours CCNA 1. Exercices

Audits Sécurité. Des architectures complexes

Firewall Net Integrator Vue d ensemble

Protéger une machine réelle derrière une machine virtuelle avec pfsense

TAGREROUT Seyf Allah TMRIM

Vulnérabilités et sécurisation des applications Web

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

Résolution des problèmes de connexion XDMCP aux hôtes UNIX et Linux

M1101a Cours 4. Réseaux IP, Travail à distance. Département Informatique IUT2, UPMF 2014/2015

Travaux pratiques : dépannage de la configuration et du placement des listes de contrôle d'accès Topologie

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Cisco Certified Network Associate

Mise en place d un firewall d entreprise avec PfSense

Hébergement de site web Damien Nouvel

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Fonctionnement et mise en place d un reverse proxy sécurisé avec Apache. Dimitri ségard 8 mai 2011

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Domain Name System. F. Nolot

Manuel des logiciels de transferts de fichiers File Delivery Services

Fiche Technique. Cisco Security Agent

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Transcription:

Projet M1 en Informatique Auteurs : Encadrant : Rojat Antoine 24 mai 2012

Sommaire Introduction 1 Organisation 2 Outils et logiciels utilisés............................................... 2 Mise en place d un laboratoire de tests d intrusion................................ 2 DVWA - Damn Vulnerable Web Application................................... 3 Dictionnaire Backtrack 5 Audit de sécurité 6 Collecte d informations 8 OSINT (open source intelligence).......................................... 8 Récolte des adresses e-mail et des noms d utilisateurs............................ 8 Extraction de méta-données des documents................................. 10 Techniques non-intrusives de reconnaissance.................................... 12 Énumération DNS............................................... 12 Passive Fingerprinting............................................. 15 Détection du framework Web......................................... 16 Reconnaissance active................................................ 18 Balayage des ports............................................... 18 Banner grabbing................................................ 21 Détection de Web Application Firewall (WAF)............................... 22 Identification des vulnérabilités 24 Proxy d interception................................................. 25 SQL Injection..................................................... 27 XSS - Cross-site scripting.............................................. 31 Inclusion de fichiers................................................. 35 Analyse des cookies de sessions........................................... 38 Scanneur de vulnérabilités des applications Web................................. 41 Conclusion 44 Liste des figures 45 Références bibliographiques 46

Introduction Le développement sans précédent de nouvelles technologies de l information et de la communication a également fait apparaître de nouveaux risques en terme de sécurité pour tous ceux qui en dépendent. Comme le montrent les événements de ces dernières années, les attaques sur la sécurité informatique sont faites par des communautés de hackers contre les entreprises ou par des menaces persistantes avancées (en anglais : Advanced Persistent Threat) contre les gouvernements des pays. Parallèlement à l augmentation des attaques, une industrie de la sécurité informatique s est développé offrant des solutions pour protéger les compagnies et les institutions gouvernementales. Puisque aujourd hui l Internet fait partie du quotidien d un grand nombre de personnes, beaucoup d entreprises ont décidé d avoir une présence en ligne et donc de créer un lien entre leur réseau interne et le monde de l Internet. Ainsi la plupart des attaques informatiques se font par le biais des sites Web ou des applications Web de l entreprise, en exploitant les failles de sécurité des technologies d information mises en place. Pour se protéger les compagnies ont choisi de faire appel aux experts dans l industrie de la sécurité informatique pour régulièrement faire des audits de sécurité de leurs infrastructures, c est-à-dire : identifier des vulnérabilités, les corriger et recommencer. Dans le cadre d un audit de sécurité, les testeurs utilisent souvent des logiciels spécifiques et pour cela une distribution Linux a été créée sous le nom de Backtrack, réunissant les plus importantes outils pouvant aider dans un audit. Les objectifs de ce projet sont alors d analyser et décrire les outils présents dans la distribution Backtrack et de proposer un protocole d audit concret basé sur ces outils. Pour cela le travail réalisé consiste en la création d un dictionnaire des outils de Backtrack et la définition des étapes d un audit de sécurité en illustrant leur déroulement avec des outils disponibles dans Backtrack. Comme l audit est un processus complexe qui peut comporter des actions en plus des tests sur les technologies mises en place, nous avons décrit les parties principales d un audit et ensuite nous nous sommes concentrés sur les aspects techniques de deux étapes importantes, la collecte d informations sur la cible et l identification des failles de sécurité en utilisant ces informations. Les cibles de nos tests ont été : les sites Web de l université, pour la étape de collecte d information, et l application Web appelée Damn Vulnerable Web Application, mise en place sur un réseau de machines virtuelles, pour l étape d identification des vulnérabilités. page 1 sur 47

Organisation Outils et logiciels utilisés Backtrack est une distribution du système d exploitation Linux créée spécifiquement pour les évaluateurs de la sécurité informatique. Apparue en 2004, elle représente la fusion des deux distributions Linux, WHAX et Auditor Security Collection, qui ont offert des outils de sécurité pour faire des tests d intrusion. La derniere version, Backtrack 5 R2, réunit plus de quatre cents outils qui peuvent aider dans l effectuation des audits de sécurité ou des investigations numériques (en anglais : digital forensics ). Elle se base sur une version modifiée de Ubuntu Linux, avec un noyau personnalisé,etinclut demanièresélectivelesmisesàjourdespaquetsàpartirdudepôtubuntu, enlestestantavantde les mettre à la disposition des utilisateurs Backtrack. Sur le wiki de la page oficielle (http://www.backtrack-linux. org/) sont disponibles quelques tutoriels concernant l installation et l utilisation des certains outils. Dans notre projet on a utilisé la derniere version, Backtrack 5 R2, lancée le 1er Mars 2012, et téléchargeable gratuitement à : http://www.backtrack-linux.org/downloads/ Pour rédiger tous les documents de notre projet et la présentation, on a utilisé le système et le langage Latex. Nos coordonnateurs ont mis à notre disposition des modèles pour le rapport et pour la présentation, qu on a ensuite modifié, en ajoutant des paquets spécifiques Latex dont on a eu besoin. Sur le site http://gide.prism.uvsq.fr/redmine on a pu utilisé Redmine, une application Web libre pour la gestion des projets, qui a intégré un serveur SVN. Nous avons collaborer grace au système de gestion des versions de nos fichiers, SVN, qu on a utilisé de manière intensive. Pour la gestion des machines virtuelles utilisées on a installé VirtualBox, le logiciel de virtualisation des systèmes d exploitation et ordinateurs, et pour l application Web à tester on a utilisé Damn Vulnerable Web Application (DVWA), dont une version ISO est téléchargeable à : http://www.dvwa.co.uk/dvwa-1.0.7.iso. Mise en place d un laboratoire de tests d intrusion La mise en place d un laboratoire de test pour mettre en pratique les concepts et les techniques de la sécurité informatique est très recommandé, et on dispose de beaucoup des choix en termes de systèmes d exploitation, de suites d outils et de configurations possibles. Une excellente liste qui rassemble un grand nombre de ces outils est : http:// g0tmi1k.blogspot.fr/2011/03/vulnerable-by-design.html. Dans notre projet on a choisi de télécharger Backtrack 5 R2 et une image ISO d un système d exploitation équipé avec l application Web DVWA, et de les mettre en réseau en utilisant VirtualBox. Dans VirtualBox on crée une nouvelle machine virtuelle sans disque dur, et on choisit dans le menu Settings -> Storage comme Live CD l image DVWA qu on vient de télécharger. Comme ça les modifications qu on pourrait faire à l application Web ne sont pas prises en compte, parce que à chaque redémarrage le système d exploitation est lu depuis l image ISO de la Damn Vulnerable Web Application (DVWA) : VirtualBox possède plusieurs moyens pour créer un réseau entre ses machines virtuelles, dont on a utilisé ce qui prend le moins de configuration, c est-à-dire Bridged. On choisit cette option dans le menu Settings -> Network pour page 2 sur 47

chaque machine virtuelle, avec la même interface de réseau : Il faut s assurer que la machine hôte est connectée à un réseau (sur l interface eth0 dans cet exemple), parce que VirtualBox va essayer de mettre les deux machines virtuelles sur le même réseau comme la machine hôte, donc il faut avoir des liens entre les trois machines. Les machines virtuelles vont prendre des adresses IP temporaires depuis un serveur DHCP, sans qu on ait besoin de les configurer manuellement. DVWA - Damn Vulnerable Web Application DVWA est l application Web sur laquelle nous allons effectuer les tests de sécurité, créée spécialement pour cela. Elle contient plusieurs pages vulnérablés, chacune étant créée pour illustrer une certaine attaque sur l application Web, comme : les injections SQL, les attaques XSS reflété et permanent, les attaques par force-brute sur les mots de passe faibles, l exécution des commandes d un adversaire sur le serveur Web, les attaques CSRF etc. La première page de DVWA nous montre le mécanisme de authentification HTTP : On voit les champs Username et Password ; puisque c est une application vulnérable le nom d utilisateur est admin et le mot de passe est password. On se connecte et on voit les pages disponibles dans le menu à la gauche. L application possède aussi un moyen de changer le niveau générale de sécurité de l application en trois valeurs, low, medium et high, ce que met en place de plus en plus des mesures de sécurité pour chaque page vulnérablé au début. Parexemple, pour la pagede XSS permanent ( XSS reflected dans le menu à lagauche), auniveau le plus bas, page 3 sur 47

aucun caractère n est pas filtré par le serveur, au niveau medium il filtre seulement la balise <script> et au niveau high il filtre toute la chaîne de caractères reçue de l utilisateur, avec la fonction PHP htmlspecialchars(). Nous changeons le niveau de sécurité en low pour faire nos tests dans la section Identification des vulnérabilités : page 4 sur 47

Dictionnaire Backtrack Dans le dictionnaire Backtrack le lecteur peut trouver des informations sur les outils présents dans les menus Backtrack et sur les outils qu on a utilisé dans les sections suivantes, celui-ci étant organisé selon les champs suivants : 1. Fonction Dans ce champ on trouve un coup d oeil rapide dans la fonction principale d outil. 2. Description Dans ce champ on a un résumé des principales action que l outil peut faire, en précisant aussi les différences par rapport à d autres outils similaires. 3. Documentation On a mis la meilleure source de documentation trouvée pour l outil : une page du manuel Linux, un fichier README dans le répertoire de l outil ou le site Web du créateur. 4. Lancement Ici on trouve la(les) commande(s) nécessaire(s) pour lancer l outil avec des options minimales. 5. Outils similaires On mentionne tous les outils qui ont la même fonction générale comme l outil traité, dans le cas où ils existent. 6. Mots clés Les mots clés servent à guider le lecteur pour qu il trouve tous les outils qui correspondent aux noms d attaques souvent rencontrées, aux concepts/opérations de sécurité, aux noms de protocoles traités et ainsi de suite. Dans le dictionnire nous avons aussi marqué en rouge les outils pour faire les attaques, et en vert les outils d analyse. On a gardé le même code de couleurs pour le document d audit de sécurité. page 5 sur 47

Audit de sécurité Dans le cadre de l industrie de sécurité informatique, l audit de sécurité représente un processus complexe, qui est fait dans les limites strictes d un contrat entre l entreprise qui souhaite auditer ses systèmes d informations et la compagnie de testeurs. Il faut faire une distinction claire entre penetration testing (en français : faire les tests d intrustion) et un audit de sécurité, parce que ce dernier et plus complexe et contient la partie de tests d intrusion dans ses étapes. Selon [owa08] : Un test d intrusion est une méthode d évaluation de la sécurité d un système de calcul ou d un réseau en simulant une attaque. [...] Le processus implique une analyse active de l application pour toutes faiblesses, failles techniques ou vulnérabilités. Tous les problèmes de sécurité trouvés seront présentés au propriétaire du système, avec une évaluation de leur impact et souvent avec une proposition de mesures d atténuation ou une solution technique. (traduit de l anglais). Un audit de sécurité peut se décomposer en plusieurs étapes : 1. Activités de pre-engagement et définitions des champs d action L étape de début d un audit de sécurité consiste de préciser de manière exacte ce qui doit être testé et comment on peut exécuter ces tests. C est-à-dire on détermine les ressources ciblées de l entreprise (quels réseaux, quelles applications Web) et on spécifie clairement les limites des tests et les actions qu on a le droit d exécuter, sans depasser ce qui est spécifié dans le contrat entre l entreprise et la compagnie de sécurité. À cet stage on peut aussi faire l estimation du temps de l audit de sécurité, définir les modalités de paimenet et prévoir les actions à suivre dans les situations exceptionnelles. 2. Collecte d informations La partie de collecte d informations est le processus de trouver d autant d informations que possible sur l organisation cible, avec le but d utiliser ces informations dans le étapes d identification de vulnérabilités et exploitation des failles. Souvent cette étape est faite du rôle d un adversaire, depuis l extérieur de l entreprise, mais celle-ci peut aussi donne l autorisation de tester les réseaux internes ou de conduire des interviews avec les employées. Dans cette étape on essaie de trouver d informations sur l entreprise et ses partenariats, sur les chefs et les employés liés à la sécurité, sur la présence Internet de ceux-ci, sur l infrastructure de réseau utilisée, sur les applications Web, les services ou les logiciels utilisés ou produits par la société et ainsi de suite. 3. Modélisation des menaces La création d un modèle pour décrire les ressources de l entreprise et les adversaires possibles est une étape très importante pour savoir ce qui devrait être protégé et qui voudrait l attaquer. Premièrement l objectif est de faire une analyse de l entreprise d un point de vue de ses actifs, et ensuite de déterminer les personnes ou les communautés intéressées, même au sein de l entreprise, de faire une analyse de leurs motivations et de leurs capacités de faire une attaque. 4. Identification des vulnérabilités Dans cette étape on fait des tests pour trouver les failles de sécurité des systèmes de l entreprise qui peuvent être exploitées par un adversaire. Il s agit de simuler des attaques pour trouver les vulnérabilités et de voir dans quelles conditions elles peuvent être exploitées. Souvent on utilise des outils qui automatisent le travail, mais on fait aussi des tests manuellement : une vulnérabilité doit être validée, donc il est conseillé d avoir plusieurs confirmations de notre découverte. Pour la valider on peut aussi chercher sur les sites Web qui gérent des bases de données avec des vulnérabilités pour des versions spécifiques des logiciels. 5. Exploitation des failles L exploitation des failles de sécurité peut se faire de manière précise si les vulnérabilités ont été bien déterminées dans l étape précédente. L objectif est de depasser les réstrictions et les contre-mesures mises en place pour mettre en évidence les points d entrée dans les systèmes de l entreprise. Ainsi on peut voir quelles sont les plus importantes vulnérabilités et quelles sont les consequences de leur exploitation. page 6 sur 47

6. Maintien de l accès L étape de maintien de l accès se réfère à les actions à faire après la phase d exploitation des failles. Le but est de déterminer la valeur de la machine compromise et de mettre en place les moyens pour maintenir la communication avec cette machine. On peut analyser les préjudices possibles qui peuvent se produire à partir de cette machine et de voir si cela donne accès à d autres routes vers des cibles aussi intéressantes. 7. Élaboration des rapports À la fin du processus formel de l audit de sécurité il faut élaborer des rapports qui seront utiles pour le client, en lui décrivant les objectifs, les méthodes et les résultats de l audit de sécurité. Pour chaque vulnérabilité trouvée il faut préciser les causes et les recommandations pour les améliorer; les failles de sécurité doivent aussi être classées selon leur niveau de risque. Cette liste est inspiré par : http://www.pentest-standard.org/, une oeuvre de collaboration de plusieurs professionnels de la sécurité qui, malgré son nom, est une bonne ressource pour délimiter un audit de sécurité. Nous allons nous concentrer sur les aspects techniques des étapes de la collecte d informations et identification des vulnérabilités, en illustrant chaque concept avec des exemples d outils qui Backtrack met à notre disposition. page 7 sur 47

Collecte d informations La partie de collecte d informations d un audit de sécurité représente la reconnaissance faite avant de démarrer les étapes d identification de vulnérabilités et d exploitation des failles sur la cible. Elle comporte les actions de sélection de la cible, d effectuer une reconnaissance secrète ou par OSINT (open-source intelligence) et HUMINT (human intelligence) sur la cible, et la prise d empreintes des services et systèmes liés à la cible. Nous allons traiter les aspects techniques de ces étapes et faire la reconnaissance d un point de vue externe de l organisation, pour avoir une idée sur comment un adversaire peut la voit. On va voir comment on peut utiliser Backtrack pour trouver d informations par les sources ouvertes de renseignement (OSINT), par les services ouvertes (comme DNS) ou en interagissant directement avec la cible, dans le cadre d une reconnaissance active. Ainsi on aura un grand nombre d informations sur la sur la compagnie et ses employés, sur son présence Internet, sur les services, les logiciels, les applications Web utilisées et les réseaux informatiques avec les machines qui sont attachés à ces réseaux. OSINT (open source intelligence) OSINT (en français le renseignement de sources ouvertes) est une première étape dans la partie de collecte d informations sur la cible de l audit de sécurité, qui consiste à utiliser des informations accessibles au public pour créer un profile de l organisation cible et pour pouvoir découvrir les premiers points d entrée dans le système. La structure organisationnelle, les personnes employées ou liées à l organisation et leurs rôles, leurs numéros de téléphone, leurs adresses physiques et e-mail, leur présence en ligne sur les réseaux sociaux et les forums, toutes ces informations peuvent être utilisées pour construire une attaque, par exemple au début des attaques qui utilisent un artifice de l ingénierie sociale. Pour collecter les informations on peut utiliser des moteurs de recherche comme Google (une technique appelée Google hacking ), des services Linux comme whois, dig ou des outils qui automatisent ces actions et en ajoutent d autres, comme celles de la distribution Linux Backtrack5 R2. Dans ce qui suit, on va présenter quelques outils de Backtrack qui peuvent nous aider dans le processus de trouver et extraire des informations sur une cible de sources disponibles publiquement. La plupart des outils qu on va voir dans cette section utilisent ce qu on appelle le Google hacking. Comme décrit dans [ALL08], le moteur de recherche Google permet de faire bien plus que de la simple recherche de mot, de récupérer furtivement des informations sur une cible et cela de manière quasi transparente. Dans la pratique, Google hacking consiste a entrer des requêtes spéciales dans le moteur de recherche, parmi lesquelles : site:uvsq.fr - permet faire la recherche seulement sur les pages d un site passé en argument. cache:uvsq.fr - cherche le site uvsq.fr dans le cache de Google; cette option est surtout utilisée pour visiter discrètement un site. intitle:uvsq - permet de chercher le texte uvsq qui se trouve entre les balises <title></title> d une page HTML. inurl:admin - permet de chercher un site internet dont l URL contient le mot admin. filetype:pdf ou ext:pdf - retourne les pages contenant un lien vers un fichier du type mentionné en argument. Les chaînes des caractères comme inurl:search.php, qui permet de rassembler vite avec Google beaucoup des sites qui utilisent une même fonctionnalité, comme un formulaire de recherche, sont souvent appelées Google dorks, et le processus de trouver et utiliser ces résultats s appelle Google dorking. Récolte des adresses e-mail et des noms d utilisateurs Dans l étape de découverte de la présence d une organisation sur Internet, faire la récolte des adresses e-mails est souvent très important, parce que un adversaire peut les utiliser pour faire des attaques brute-force ou pour envoyer des messages spam personnalisés pour le possesseur de l adresse, qui contiennent du code malveillant pour exploiter les vulnérabilités sur son système. En plus, trouver les noms d utilisateur sur les réseaux sociaux en ligne des employés d une entreprise peut donner beaucoup de détails sur leurs intérêts, leur poste de travail, leur localisation et peut conduire à une attaque par l ingénierie sociale. COLLECTE D INFORMATIONS page 8 sur 47

TheHarvester TheHarvester est un outil spécialisé pour automatiser les techniques de Google hacking et il étend le concept pour d autres moteurs de recherche comme Bing et Exalead. Il utilise les APIs ou les paramètres GET pour interroger les serveurs de clés publiques PGP, la base de données SHODAN, les réseaux sociaux comme LinkedIn ou les profiles Google. En exécutant l outil TheHarvester sur le nom de domaine prism.uvsq.fr on obtient : root@bt :/ pentest /enumeration/ theharvester#./ theharvester.py d prism.uvsq. fr b google h v TheHarvester Ver. 2.1 ( reborn ) Coded by Christian Martorella Edge Security Research cmartorella@edge security.com [ ] Searching in Google : Searching 0 results... Searching 100 results... [+] Emails found : stephane. lopes@prism. uvsq. fr devan. sohier@prism. uvsq. fr sana. younes@prism. uvsq. fr roucairog@prism. uvsq. fr [+] Hosts found in search engines : 193.51.25.197:www. prism. uvsq. fr 193.51.25.188: cassiopee. prism. uvsq. fr 193.51.25.9: torquenada. prism. uvsq. fr [+] Proposed SET [] [+] Virtual hosts : ================== 193.51.25.197:www. prism. uvsq. fr 193.51.25.197: master i r s. prism. uvsq. fr 193.51.25.197:www. master secrets. uvsq. fr 193.51.25.173: bobpp. prism. uvsq. fr 193.51.25.1:www.1 and1. fr [+] Shodan Database search : Searching for : 193.51.25.197:www. prism. uvsq. fr Searching for : 193.51.25.188: cassiopee. prism. uvsq. fr Searching for : 193.51.25.173: bobpp. prism. uvsq. fr Searching for : 193.51.25.1:www.1 and1. fr [+] Shodan r esults : =================== On a déjà une liste avec les adresses e-mails, mais en plus theharvester nous montre aussi les noms d hôtes trouvés dans les résultats Google, et en lui donnant l option -v il fait une résolution DNS et il essaie de trouver les hôtes virtuels sur la même adresse IP. Avec l option -h on interroge la base de données SHODAN. En exécutant l outil avec l option de chercher dans les serveurs de clé PGP, on obtient : root@bt :/ pentest /enumeration/ theharvester#./ theharvester.py d prism.uvsq. fr b pgp [ ] Searching in PGP key server.. [+] Emails found : antoine. rojat@prism. uvsq. fr hpc@prism. uvsq. fr dntt@prism. uvsq. fr COLLECTE D INFORMATIONS page 9 sur 47

On peut spécifier le nom d une entreprise et voir quels sont les profiles LinkedIn qui lui sont associés : root@bt :/ pentest /enumeration/ theharvester#./ theharvester.py d BlueMatrix b linkedin [ ] Searching in Linkedin.. Users from Linkedin : ==================== Tammy Huang China Yogesh Paithankar Samantha Dolan United Kingdom Stephen Mcnally Greater New York City Area Extraction de méta-données des documents On peut faire une recherche avec Google pour localiser différentes ressources d une compagnie sur le Web telles que des documents PDF, Word etc. On pourra les exploiter directement ou en extraire des meta-données qui peuvent fournir des informations telles que l auteur/créateur, le logiciel utilisé et sa version, la date et l heure de création, les normes utilisées, la localisation dans un réseau informatique (imprimante/dossier/répertoire chemin), géo-tagging etc. Pour une image il peuvent même nous donner les coordonnées et les informations de localisation. Une extraction des meta-données est possible en utilisant des outils adaptés présents sur Backtrack comme Metagoofil. Metagoofil C est un outil conçu pour extraire les méta-données de fichiers d extensions.doc,.xls,.ppt,.pdf etc. La puissance de cet outil est qu il fait une recherche des documents publics en ligne grâce à Google. Il montre les résultats sous forme d un rapport sur les informations qu ils contiennent. Ces informations comme des noms de personnes, des dates de créations, des versions de logiciels qui sont facilement accessible, peuvent donner des indications sur le personnel de l entreprise ce qui pourraient très bien servir à un attaquant potentiel. Ci-dessous on exécute l outil metagoofil sur le nom de domaine uvsq.fr (option -d), en lui demandant d explorer les documents avec l extension.doc et. pdf (option -t), en limitant la recherche a 20 documents (option -l), qu il téléchargera par la suite (option -n). Les documents téléchargés seront stockés dans le répertoire resultats scan (option -o) sous forme d une page html resultats.html (option -f). COLLECTE D INFORMATIONS page 10 sur 47

root@bt :/ pentest /enumeration/google / metagoofil#./ metagoofil.py d uvsq. fr t doc, pdf l 20 n 20 o /root/ Desktop/resultats scan f /root/desktop/resultats. html Metagoofil Ver 2.1 Christian Martorella Edge Security.com cmartorella at edge security.com Blackhat Arsenal Edition [ ] Starting online search... [ ] Searching for doc files, with a limit of 20 Searching 100 results... Results : 101 f i l e s found Starting to download 20 of them : [1/20] /support/websearch /bin/answer. py?answer=186645& form=bb& hl=en Error downloading /support/websearch /bin/answer. py?answer=186645& form=bb& hl=en [2/20] http ://www. physique. uvsq. fr / statuts. doc [ ] Searching for pdf files, with a limit of 20 Searching 100 results... Results : 103 f i l e s found Starting to download 20 of them : [1/20] /support/websearch /bin/answer. py?answer=186645& form=bb& hl=en Error downloading /support/websearch /bin/answer. py?answer=186645& form=bb& hl=en [2/20] http ://www. qualub. uvsq. fr /PDF/ circulaire apprentissage. pdf [+] List of users found : dahoo Stephanie iut rambouillet I ulian Sandu Popa, Karine Zeitouni, Vincent Oria, Dominique Barth, Sandrine Vial [+] List of software found : Microsoft Office Word Microsoft Excel PDFCREATOR Version 0.8.0 [+] List of paths and servers found : Normal C:\Mes documents\gdr\documentscientifique\docscient\presentation Abregee. doc C:\Mes Documents\GdR\PRESENTATION Abregee. doc C:\WINDOWS\TEMP\Enregistrement automatiquedepresentation Abregee. asd [+] List of e mails found : yasser. alayli@uvsq. fr sfayad@hotmail. fr j ulien. barjon@cnrs bellevue. fr COLLECTE D INFORMATIONS page 11 sur 47

Techniques non-intrusives de reconnaissance Il existe plusieurs méthodes pour trouver des informations en plus d OSINT sans être détecté et sans interagir directement avec la cible. D abord on peut interroger des services ouverts comme DNS, SMTP, SNMP, on peut faire l analyse VPN (Virtual Private Network), on peut intercepter le trafic général entre notre machine et la cible et faire une analyse de paquets pour déduire les services et les systèmes d exploitation avec leurs versions (passive fingerprinting) ou suivre la route des paquets pour découvrir les proxy, les serveurs d equilibrage de charge (load-balancing) ou les systèmes de détection et de prévention d intrusion mis en place. Énumération DNS Cette étape est composée de plusieurs techniques qui, selon [AY09], permettent de collecter les informations suivantes : les noms des serveurs, les noms de domaines sous-domaines utilisés pour les adresses mails et le Web, même la cartographie d un réseau. On peut aussi trouver la localisation de ces serveurs, les adresses IP et les blocs d adresses utilisés, des informations sur le propriétaire d un nom de domaine (adresse mail, numéro de téléphone, etc.) et sur les serveurs de noms associés au domaine. Il existe plusieurs commandes comme whois permettant d interroger les registres fournissant publiquement des informations concernant les noms de domaine et adresses IP, mais aussi des outils performants présents sur Backtrack comme Maltego, DNSenum et fierce qui permettent cela d une manière simple et rapide. DNSenum C est un outil développé en PERL permettant la récupération d informations relatives aux noms de domaine. Un balayage DNSenum comme le montre l exemple suivant, nous donne les informations concernant les noms de domaine, les sous-domaines, les serveurs mail et les blocs IP affectés en utilisant : Le transfert de zone (actuellement il est en général désactivé) permettant à un serveur secondaire (qui a besoin d être autorisé à effectuer cette opération) d interroger le serveur primaire et de récupérer le contenu de sa base de données, mais assez souvent aucune autre restriction n est pas présente. Ceci permet l affichage du contenu d une zone. Les résultats du moteur Google (le scarping ); souvent Google peut détecter et ne pas autoriser la recherche automatisée et c est pour cela qu on remarque que DNSenum n a pas pu récupérer des résultats en utilisant cette technique. Une recherche par force brute pour trouver les noms de sous-domaines, à l aide du fichier dns.txt contenant des mots clés qu on pourra enrichir manuellement ou automatiquement. COLLECTE D INFORMATIONS page 12 sur 47

root@bt :/ pentest /enumeration/dns/dnsenum#./dnsenum. pl enum f dns. txt r uvsq. fr dnsenum. pl VERSION :1.2.2 Warning : can t load Net :: Whois :: IP module, whois queries disabled. uvsq. fr Host s addresses : uvsq. fr 86400 IN A 193.51.27.3 Name Servers : lune. uvsq. fr 86400 IN A 193.51.33.28 s o l e i l. uvsq. fr 86400 IN A 193.51.24.1 resone. univ rennes1. fr 86400 IN A 129.20.254.1 shiva. jussieu. fr 172799 IN A 134.157.0.129 Mail (MX) Servers : s o l e i l. uvsq. fr 86400 IN A 193.51.24.1 titan. uvsq. fr 86400 IN A 193.51.33.15 Trying Zone Transfers and getting Bind Versions : Trying Zone Transfer for uvsq. fr on resone. univ rennes1. fr... AXFR record query failed : NOERROR resone. univ rennes1. fr Bind Version : Trying Zone Transfer for uvsq. fr on lune. uvsq. fr... AXFR record query failed : NOERROR lune. uvsq. fr Bind Version : Bind Trying Zone Transfer for uvsq. fr on shiva. jussieu. fr... AXFR record query failed : REFUSED Unable to obtain Server Version for shiva. jussieu. fr : REFUSED Trying Zone Transfer for uvsq. fr on s o l e i l. uvsq. fr... AXFR record query failed : NOERROR s o l e i l. uvsq. fr Bind Version : Bind Scraping uvsq. fr subdomains from Google : Google search page : 1 Google search page : 2 Google search page : 3 Brute forcing with dns. txt : apps. uvsq. fr 86400 IN A 193.51.33.9 ftp. uvsq. fr 86101 IN CNAME nova. uvsq. fr 86237 IN A 193.51.24.2 uvsq. fr ip blocks : 193.51.24.1/32 193.51.24.2/31 193.51.24.5/32 COLLECTE D INFORMATIONS page 13 sur 47

fierce C est un outil de reconnaissance et de récupération d informations d un nom de domaine. Cet outil scanne les différentes informations récupérables, et ceci par le biais de plusiers techniques : root@bt :/ pentest /enumeration/dns/ f ierce#./ fierce. pl dns uvsq. fr wordlist hosts. txt DNS Servers for uvsq. fr : lune. uvsq. fr s o l e i l. uvsq. fr resone. univ rennes1. fr shiva. jussieu. fr Trying zone transfer f i r s t... Testing lune. uvsq. fr Request timed out or transfer not allowed. Testing s o l e i l. uvsq. fr Request timed out or transfer not allowed. Testing resone. univ rennes1. fr Request timed out or transfer not allowed. Testing shiva. jussieu. fr Request timed out or transfer not allowed. Unsuccessful in zone transfer ( it was worth a shot ) Okay, trying the good old fashioned way... brute force Checking for wildcard DNS... Nope. Good. Now performing 1895 test ( s )... 193.51.33.4 oas. uvsq. fr 193.51.33.1 babaorum. uvsq. fr 192.168.61.11 pc55 dsi 29a. siege. uvsq. fr 192.168.61.12 mandore. csi. uvsq. fr 193.51.24.1 s o l e i l. uvsq. fr 193.51.24.2 nova. uvsq. fr 193.51.27.1 diapason. siege. uvsq. fr 193.51.27.2 metronome. siege. uvsq. fr Subnets found (may want to probe here using nmap or unicornscan ) : 127.0.0.0 255 : 1 hostnames found. 192.168.61.0 255 : 42 hostnames found. 193.51.24.0 255 : 104 hostnames found. 193.51.27.0 255 : 254 hostnames found. 193.51.33.0 255 : 66 hostnames found. Done with Fierce scan : http ://ha. ckers. org/ f ierce / Found 467 entries. Have a nice day. On remarque qu un balayage fierce est plus intéressant (avec les options utilisés), en effet il a tout d abord vérifié l utilisation du wildcard DNS ce qui nous donne une idée sur l importance des faux résultats (dans l exemple uvsq.fr n utilise pas de wildcard DNS). Les noms de sou-domaine et les adresses IP associées ont été trouvé par le biais d un brute force utilisant le fichier interne hosts.txt, ensuite fierce en trouvant un sous-domaine et l adresse IP qui lui est associée va faire une résolution DNS inverse pour un champs d adresses IP contigus à cette adresse (par défaut 5 au dessus et 5 en dessous de cette adresse initiale), pour trouver d autre sous-domaine possibles. S il trouve un autre nom de sous-domaine, il fera une nouvelle résolution DNS inverse, donc fierce procéde de façon recursive pour trouver un plus grand nombre de noms de sous-domaines. A partir des adresses IP trouvés, les réseaux associés sont affiches avec les statistiques pour chacun afin de pouvoir éventuellement effectuer un balayage de ports avec des outils comme Nmap ou Unicornscan. COLLECTE D INFORMATIONS page 14 sur 47

Maltego C est un outil très performant et plus complexe qu un simple logiciel pour faire l énumération DNS, car il permet de trouver facilement, et de manière visuelle, des informations telles que les différentes adresses mail d une personne, des numéros de téléphone qui pourraient lui être associés, les adresses IP et les réseaux, les serveurs DNS et les serveurs mail d une entreprise, la recherche sur les sites comme Twitter et Facebook d un utilisateur, etc. Maltego est proposé sur le site http://www.paterva.com/web5/ et dispose de plusieurs tutoriels complets sur le site pour sa prise en main, il est pratique et trés performant tout en offrant plusieurs possibilités. Par exemple un scan DNS en utilisant maltego sur uvsq.fr produit le résultat suivant : Figure 1 Scan DNS sous Maltego Passive Fingerprinting La détection active de services ou de systèmes d exploitation se fait en général en envoyant des paquets spécifiques pour différentes situations et en analysant les réponses ou les erreurs envoyées par la machine ciblée (l outil Nmap est le meilleur exemple). Selon le concept de prise d empreinte passive, l adversaire analyse seulement les paquets générés suite à une interaction normale avec la machine hébergeant l application Web, alors il ne risque pas d être détecté par des pare-feu et on peut découvrir des informations intéressantes. p0f L outil le plus utilisé pour le passive fingerprinting est p0f, inclus dans Backtrack. Cependant, il s agit d une ancienne version, donc on télécharge, compile et on lance la derniere version : root@bt : # wget http:// lcamtuf.coredump. cx/p0f3/releases/p0f latest. tgz root@bt : # tar xvzf p0f latest. tgz root@bt : # cd p0f 3.04b/ ;./ build. sh root@bt : / p0f 3.04b#./ p0f # Telechargement # Extraction de l archive # Compilation # Lancement p0f est un sniffer capable de nous dire quel type de système d exploitation est utilisé par la cible, seulement en analysant les paquets TCP SYN reçus quand la machine essaie de réaliser une connexion avec nous ou les paquets COLLECTE D INFORMATIONS page 15 sur 47

TCP SYN+ACK, reçus quand c est nous qui essayons d interagir avec la cible. Il faut donc faire les premiers pas du TCP handshake, même si nous ne finissons pas l établissement de la connexion, pour que p0f puisse capturer des paquets. On utilise telnet pour cela : root@bt : # telnet swift.prism.uvsq. fr 80 Trying 193.51.25.208... Connected to swift. prism. uvsq. fr. Escape character is ˆ]. ˆC Connection closed by foreign host. La sortie de p0f nous montre d abord ce qu il peut détecter de nos paquets TCP SYN (syn), le MTU du lien utilisé par le client, et après il nous montre la version du système d exploitation du serveur qu il a trouvé en analysant les paquets TCP SYN ACK (syn+ack) : c est Linux 2.6.x. Il nous affiche aussi la distance en hops (routeurs) entre nous et le serveur,le MTU du lien utilisé parle serveur,et la duréede fonctionnement du client et du serveur( uptime ) :. [ 192.168.1.52/59337 > 193.51.25.208/80 ( syn ) ] c lient = 192.168.1.52/59337 os = Linux 3. x dist = 0 params = tos :0 x04 raw sig = 4:64+0:0:1460:mss 10,4:mss, sok, ts, nop, ws : df, id+:0. [ 192.168.1.52/59337 > 193.51.25.208/80 (mtu) ] c lient = 192.168.1.52/59337 link = Ethernet or modem raw mtu = 1500. [ 192.168.1.52/59337 > 193.51.25.208/80 ( syn+ack ) ] server = 193.51.25.208/80 os = Linux 2.6. x dist = 16 params = none raw sig = 4:48+16:0:1452:mss 4,6:mss, sok, ts, nop, ws : df :0. [ 192.168.1.52/59337 > 193.51.25.208/80 ( uptime ) ] server = 193.51.25.208/80 uptime = 145 days 15 hrs 49 min (modulo 198 days ) raw freq = 249.93 Hz Détection du framework Web Beaucoup d applications Web sont créées en utilisant des frameworks Web ou des systèmes de gestion de contenu (CMS - Content Management System) et d un point de vue de la sécurité il est toujours important de savoir quels logiciels ont été utilisés pour créer l application et surtout quelles sont leurs versions. En trouvant leurs versions on peut chercher sur les sites de vulnérabilités pour trouver des failles spécifiques à ces frameworks. BlindElephant BlindElephant est un outil qui utilise une méthode non-intrusive pour la détection des frameworks Web ou CMS utilisés par un site. En l exécutant avec l option guess il trouve d abord le framework utilisé : root@bt :/ pentest /web/ blindelephant / src / blindelephant# python./ BlindElephant.py www. joomla. org guess Probing... Possible apps : joomla COLLECTE D INFORMATIONS page 16 sur 47

Ensuite, BlindElephant possède des chemins vers les fichiers statiques d un tel framework Web et calcule les hachages des fichiers, en les vérifiant avec les valeurs de hachage des fichiers pour les versions du framework qu il connaît. Il fait un choix en se basant sur la probabilité des résultats : root@bt :/ pentest /web/ blindelephant / src / blindelephant# python./ BlindElephant.py www. joomla. org joomla Loaded /pentest /web/ blindelephant / src / blindelephant /dbs/joomla. pkl with 39 versions, 3789 d i fferentiating paths, and 140 version groups. Starting BlindElephant fingerprint for version of joomla at http ://www. joomla. org Hit http ://www. joomla. org/language/en GB/en GB. ini Possible versions based on result : 1.5.18 Hit http ://www. joomla. org/ htaccess. txt File produced no match. Error : Retrieved f i l e doesn t match known fin gerprint. c381fa8411b62167fd7c9a06b244df36 Fingerprinting resulted in : 1.5.18 Best Guess : 1.5.18 COLLECTE D INFORMATIONS page 17 sur 47