Sécurisation des systèmes Recherche d'informations sur une cible : requête DNS, interrogation whois, utilisation de nmap,... HAFERSAS Nabil ASSOUMANE Abdou 1
PLAN : Généralités Les différentes phases d une attaque Identification de la cible Scanning Exploitation Progression Les parades 2
Les risques Quoi protéger? Les données Protection contre le risque de divulgation Protection contre l altération ou la perte d informations Protection contre la dégradation Les ressources Serveur, disques, imprimantes, réseau, (protection contre les refus de service) La réputation de l entreprise et des personnes Usurpation d identité,... Origines : Risques accidentels (incendie, panne matériel ) Risques d erreur (saisie, d exploitation, ) Risques de malveillance (fraude, espionnage, piratage, ) 3
Qui sont les pirates? Peut être n'importe qui avec l'évolution et la vulgarisation des connaissances. Beaucoup d'outils sont disponibles sur Internet. Un "hacker" n'est pas nécessairement un "cracker": hacker : celui qui a la connaissance. cracker : celui qui exploite la connaissance. 4
Motivations des attaques Vol d informations Modifications d informations Vengeance/rancune Politique/religion Défis intellectuels 5
Cible des pirates Banques Organismes de crédit Serveurs militaires Universités Fournisseurs d'accès Internet Tout le monde 6
Techniques d'attaques Social Engineering Dumpster diving Shoulder surfing Scannings Sniffing etc. 7
Description d une attaque type Recherche d informations Réseau, routeurs, serveurs Recherche de vulnérabilités Systèmes d exploitation, applicatifs Tentatives d exploitation des vulnérabilités A distance / localement Mise en place de portes dérobées (backdoor), de systèmes d écoute de réseau (sniffer) Suppression des traces Attaque par déni de service 8
Les différents types d attaques Le sniffing L IP spoofing, ARP spoofing Le DoS (Denial of Service) Les programmes cachés ou virus L ingénierie sociale (social engineering) Le craquage de mots de passe Vol de session (Hijacking) ARP poisoning 9
Les différentes phases d une attaque Identification de la cible Scanning Exploitation Progression 10
Identification de la cible Objectifs et méthodologie : Collecter le plus de renseignements possibles sur la cible En utilisant des informations publiques Sans engager quoique ce soit d hostile 11
Les requêtes indirectes Dans cette catégorie, nous plaçons tous les moyens qui permettent d'en apprendre plus sur la cible, mais sans la contacter directement. Ces informations sont disponibles, il suffit de savoir où chercher. Interrogation des bases whois News Group Moteur de recherche Social Engineering Divers 12
Interrogation des bases whois Les serveurs whois, aussi appelés nicname (port 43), permettent d'accéder à la base de données des renseignements fournis lors de l'enregistrement d'un nom de domaine : des informations administratives : des noms, téléphones et adresses pour différents contacts (admin c, tech c, zone c, bill c...) ; des informations techniques : le(s) nom(s) du(des) DNS(s), les adresses emails des responsables évoqués ci dessus, les ensembles d'adresses IP alloués à la cible... 13
Interrogation des bases whois Cette base de données, autrefois gérée par InterNIC et maintenant par Network Solutions, reste simplement accessible à tous car elle permet de vérifier si un nom de domaine existe déjà. Les sociétés qui enregistrent les noms de domaine offrent généralement un service d'interrogation en ligne (voir tableau) bases whois AFNIC Association Française pour le Nommage Internet en Coopération www.nic.fr/cgi bin/whois tous les ".fr" RIPE InterNIC Réseau IP Européen Pris sur leur page web : "InterNIC is a registered service mark of the U.S. Department of Commerce. This site is being hosted by ICANN on behalf of the U.S. Department of Commerce". www.ripe.net/cgi bin/whois www.internic.net/whois.html couvre l'europe, le Moyen Orient et quelques pays d'asie et d'afrique les ".com", ".net", ".edu" et autres ".org" 14
Exemple sur un nom de domaine : 15
Exemple : Découvrir les classes d'adresses IP à partir d'une adresse IP appartenant à une société Pour cela, nous utilisons la base whois de RIPE qui se révèle être la plus pertinente 16
Interrogation des bases whois Le bilan des recherches via les bases whois est très concluant puisque nous avons récupéré : les serveurs DNS ayant autorité sur le domaine ; les coordonnées des contacts administratifs et techniques liés à une société ; les classes d'adresses IP alloués à la société. 17
News Group Ils donnent souvent beaucoup trop d'informations sur leur système d'information (technologie, version des applications utilisées, fragment de code...). Pour faire des recherches, nous pouvons demander à groups.google.com avec comme critère de recherche @pigeons.fr par exemple. Ce moteur, très performant, remonte alors tous les messages postés par des personnes de la société Pigeon et Cie. Outre les informations techniques, nous pouvons obtenir des renseignements sur les goûts personnels de certaines personnes de la société. Ces indications servirons lors de recherche de mots de passe ou pour améliorer une éventuelle tentative Social Engineering. 18
Moteurs de recherche Utilisation des moteurs classiques Altavista, Google, Dejanews Pour trouver toute information sur la cible (press releases, partenaires, serveurs news ) Utilisation de moteurs dédiés Bases de données d informations financières, Souvent accès à ces bases payant ex: www.societe.com, www.kompass.com, d autres beaucoup plus pointus 19
Social Engineering Se pratique pour obtenir des informations confidentielles (mot de passe, renseignements techniques, numéro de téléphone, adresse IP...) des utilisateurs du système d'information cible. Tous les moyens possibles et imaginables sont à disposition (téléphone, mail, fax...). Avec une usurpation d'identité et une exploitation habile des informations récoltées au préalable sur les personnes et la société, la crédibilité est au rendez vous ainsi que de précieuses données. 20
Divers Les requêtes indirectes sont quasiment illimités, Un pirate a le temps pour lui, il ira jetter un oeil sur le site de la société ou de ces filiales. D'autres données sur les sociétés et sur les marques se retrouvent sur des sites comme www.societe.com ou celui des pages jaunes (les numéros de téléphone ou des noms de personnes). Les résultats dépendent evidemment de l'inventivité du pirate. 21
Les requêtes directes Interrogation des DNS Utilisation de ping Utilisation de traceroute Mail bounce 22
Interrogation des DNS On recherche tous les domaines enregistrés par la cible grâce au Whois Nous donne aussi noms, adresses, téléphones des administrateurs On interroge DNS pour connaître les adresses IP des serveurs www, mail, Les interroger dans un langage qu'ils comprennent à savoir le protocole DNS 23
Exemple de récupération de tous les serveurs DNS ayant autorités sur le domaine ainsi que leur adresse IP 24
Exemple de récupération des serveurs de messagerie (Mail exchanger) du domaine 25
Vérification des deux requêtes précédentes 26
Exemple du transfert de zone renvoie toute la configuration du serveur DNS 27
28
Exemple d obtentions la version de Bind 29
Utilisation de ping Les requêtes indirectes (whois) et l'interrogation des DNS nous ont permis de récupérer des adresses IP et des classes d'adresses IP appartenant à la cible Un ping sur chacune de ces adresses IP, nous allons savoir lesquelles sont accessibles. Il faut néanmoins prendre en compte le fait que la présence d'un firewall peut empécher la machine de répondre au ping. Le scan de port solutionnera se problème en détectant la présence de la machine dans le cas où elle a un port ouvert. Nmap effectue très bien cette tâche : 30
Utilisation de traceroute Le but est d'obtenir l'adresse IP d'un routeur d'accès aux machines cibles Pour cela, il suffit de faire un traceroute en direction d'une machine du réseau cible 31
Mail bounce L'en tête d'un mail fourmille d'informations pertinentes : Envoi d un mail à une adresse invalide dans le domaine cible pour obtenir un retour (zefqsdfsdfqsdf@cible.com) Ainsi, le serveur SMTP de la cible renvoie automatiquement une réponse avec la plupart des informations Examen des en têtes dans le mail retourné, nous récupérons : le nom et l'adresse d'une machine interne, la version du serveur SMTP ainsi que la version du client SMTP utilisé 32
Exemple : Mail bounce 33
Scanning Qu est ce que le port scanning? scannage de port : méthode de reconnaissance permettant d analyser les ports sur une ou plusieurs machines l attaquant envoie des requêtes sur les ports, en utilisant des méthodes de connexion diverses et variées. On détermine si le port est ouvert ou fermé en fonction de la réponse de l hôte scanné. Objectifs : Identifier les IP utilisées ICMP ou TCP ACK les services accessibles toutes informations de topologie détaillée OS versions des services Subnets Règles firewall 34
Les différents types de scans Le TCP connect() scanning Le SYN scanning Le FIN scanning Le Xmas et le Null Scanning L'UDP scanning 35
Le TCP connect() scanning Établissement complet d une connexion TCP (Three way handshake) Port ouvert la machine renvoie un segment SYN/ACK. Dans le cas contraire elle termine la connexion par le segment RST. Visible dans les logs du firewall et du service visé Facilement détectable par la machine attaquée 36
Le SYN scanning Utilise la moitié d une connexion TCP Ce scan va envoyer à la machine un segment SYN. Si la machine scannée renvoie un segment RST, le port est fermé. Si elle répond par un segment SYN/ACK le port est ouvert. 37
Le FIN scanning Exploite la fin d une connexion TCP Ce scan va envoyer à la machine un segment FIN. La machine scannée envoie un RST si le port est fermé et ne renvoie rien si il est ouvert. Moins facilement détectable que le SYN scanning, mais certains systèmes sont insensibles à ce genre de scan ( Windows, Cisco, BSDI, etc.) 38
Le Xmas et le Null Scanning Le Xmas scanning envoi les segments avec les drapeaux URG, PUSH et FIN. Le Null scanning envoie un segment sans drapeaux. provoquer l envoi par la machine scannée d un segment RST. Ce qui signifie que le port est fermé. Exemple Xmas scanning : Exemple Null scanning : 39
L UDP scanning Envoi d un paquet pour établir une connexion UDP Si pas de réponse : port ouvert Si réponse ICMP Port Unreachable : port fermé 40
Détermination de l OS (1) Chaque OS possède sa propre conception de la gestion des protocoles réseaux D'une part, certains champs sont laissés à la charge de l'os (TTL, ToS, Win, DF...). D'autre part, même si les RFC définissent l'essentiel, elles ne sont pas toujours scrupuleusement respectées. En récupérant des paquets émis par la cible, nous découvrons la valeur de paramètres : le champs TTL (time to live) des paquets sortants ; la taille de la fenêtre (window) ; le bit DF (Don't Fragment) ; le champs TOS (Type Of Service).... 41
Détermination de l OS (1 ) Une base de données contenant leur valeur par défaut facilite alors l'identification Il suffit ainsi d'envoyer des paquets différents pour tester les réponses puis de comparer ces dernières à une base de signatures pour identifier l'os. Cependant, cette méthode n'est pas très fiable car les OS permettent souvent de modifier certaines de ces valeurs Exemple : le champ id permet de distinguer facilement les linux 2.2.x des 2.4.x 42
Détermination de l OS (2) Une méthode plus performante consiste à analyser les réponses de l'os cible face à certains paquets : Selon le comportement de la pile TCP/IP de la cible, ce qui est suffisant pour identifier l'os. Modifier le comportement complet de la pile est autrement difficile, voire impossible avec certains OS dont les sources ne sont pas disponibles. Exemple : l'empreinte des noyaux Linux 2.4.0 2.4.5 correspond à : 43
Bannières L'objectif est simple : Connaître la version de l'application utilisé pour un service spécifique. La plupart du temps, un simple telnet sur le port désiré nous donne le renseignement Exemple : telnet (port 23) Avant même que la connexion soit validée par le mot de passe, le serveur renvoie les informations recherchées : 44
Bannières Exemple : HTTP (port 80) 45
Informations relatives à des protocoles spécifiques Nous savons maintenant ce qui tourne précisément sur chacun des systèmes (OS, serveurs, version des serveurs...). Car de nombreux serveurs en dévoilent encore beaucoup sur le réseau et ses utilisateurs Exemple : la commande finger fournit des informations sur les utilisateurs du système 46
Exemple : serveur de mails ( Le protocole SMTP ) 47
Nmap Scanneur de port créé par Fyodor La première version de Nmap date de 1997 Utilise TCP ou UDP, protocoles de la couche transport du modèle TCP/IP Fonctionnement général : Scanner plusieurs machines sous un même sous réseau Nmap peut également scanner une plage d adresse IP Les ports aussi peuvent être paramétrables (exemple si l on veut savoir si le port 22 est ouvert sur la machine 172.16.1.2) Scanner sans ping (contrer la défense de certains pare feux qui empêchent la réponse à des requêtes ICMP ping) Depuis 2002, Nmap supporte IPv6 48
Exemple d un scan Nmap 49
Nessus (1) Nessus est un projet qui débuta en 1998 Créé par Renaud Deraison De la société Tenable Network Security Se divise en deux parties : nessusd : qui est un daemon (service) exécutant les requêtes ainsi que la communication avec la cible, et nessus : une application client qui récupère les données et affiche le résultat. Les tests sont joués par des plugins; quelques uns sont en C compilé, mais la majorité sont écrits dans le langage de script NASL (Nessus Attack Scripting Language). La base de connaissances permet aux plugins récents d enrichir les données collectées par des plugins plus anciens 50
51
Nessus (2) La séquence des opérations est la suivante : Détection des machines vivantes sur le réseau par ping_host.nasl «scan» des ports avec un des quatre port scanners internes, ou un scanner externe amap ou nmap, Récupération d'informations Type et version des divers services Connexion (SSH, Telnet ou rsh) pour récupérer la liste des packages installés Attaques simples, peu agressives. Attaques susceptibles d'être destructrices Dénis de service (contre les logiciels visés) Dénis de service contre la machine ou les équipements réseau intermédiaires. 52
Scan CGI L'installation par défaut d'un serveur Web et/ou une mauvaise configuration font que de nombreux scripts peuvent être présent sur un serveur Web. Un nombre important de ces scripts sont la source de failles. Un scanner de CGI permet de tester la présence de ces scripts sur un serveur cible. Le pirate pourra ainsi les utiliser pour attaquer la machine cible. Le scanner le plus connu est whisker. 53
Exemple: Scan CGI Nous avons une liste de scripts potentiellement vulnérables qui pourront exploités ultérieurement : 54
Exploitation Objectifs : Permet à partir des informations recueillies d exploiter les failles identifiées sur les éléments de la cible : que ce soit au niveau protocolaire, des services et applications ou des systèmes d exploitation présents sur le réseau. Catégories d attaques : Fautes d implémentation Buffers overflows, métacharactères, format strings, Fautes de conception Mauvais algorithme Virii, chevaux de Troie, Worms 55
Progression Objectifs : Il est temps pour l attaquant de réaliser ce pourquoi il a franchit les précédentes étapes. Le but ultime étant d élever ses droits vers root (ou system) sur un système afin de pouvoir y faire tout ce qu il souhaite : Inspection de la machine, Récupération d informations, Installation de backdoors, Nettoyage des traces, 56
Inspection de la machine Simulation du comportement d un utilisateur légitime Recherche des fichiers journaux et des copies vers d autres machines Identification des HIDS/NIDS 57
Récupération d information Repérer les données ciblées Recommencer la phase d exploitation puis progression Jusqu à trouver l information La rapatrier en utilisant un covert channel 58
Backdoors Intérêts Revenir plus facilement Tromper les systèmes de surveillance Introduire des covert channels Types Rootkits Backdoors kernel Programmes dissimulés Changements de configuration 59
Nettoyage des traces Pas possible dans tous les cas (Tripwire, backups, ) Nécessite potentiellement la compromission d autres machines (serveurs de logs) 60
Les parades Newsgroups Social engineering Informations publiées sur le web Droits d'accès Système 61
Newsgroups Interdire aux équipes techniques de poster des messages dans les listes de diffusion publiques à partir de leur adresse du domaine de l'entreprise Limiter la diffusion d'informations sur les numéros de versions des outils utilisés Cacher systématiquement les informations relatives aux chemins de fichiers, logins, mots de passe, noms de machine et adresses IP utilisées lors des nécessaires usages des forums et autres newsgroups 62
Social engineering Déconseiller au personnel de l'entreprise d'utiliser leur adresse email professionnelle pour participer à des forums dont l'usage est d'ordre privé Sensibiliser le personnel aux problématiques d'espionnage économique et de criminalité informatique Former le personnel technique du service informatique aux mesures anti social engineering 63
Informations publiées sur le web Ne publier aucune information technique sur les outils, et les versions utilisées Ne pas rendre accessible au public les rapports d'analyse des outils de supervision et de statistique qui regorgent d'adresses IP, OS et services des machines auditées Configurer le serveur web et le serveur d'application afin qu'ils ne divulgent aucune information de version et de modules installés dans les entêtes HTTP ainsi qu'en bas de page des messages d'erreur 64
Droits d'accès Ne donner aux utilisateurs du système d'information que les droits nécessaires à l'accomplissement de leurs tâches respectives, et pas plus ; afin de limiter les conséquences de l'utilisation frauduleuse d'un compte Mettre en place une politique sûre de mot de passe : long, compliqué, changé fréquement, non apposé sur un post it sur l'écran 65
Système N'installer que les services et logiciels nécessaires sur chaque machine/serveur, toute application apportant au système hôte ses propres vulnérabilités Maintenir à jour le système d'exploitation, les logiciels et le firmware des équipements en les patchant régulièrent dès qu'une vulnérabilité est signalée et corrigée par l'éditeur Installer un antivirus sur les postes de travail et le maintenir à jour Installer un pare feu à l'entrée du réseau interne de l'entreprise, ne laisser passer que le trafic nécessaire, journaliser les comportements anormaux et se tenir informer par des alertes des comportements suspects 66
Références http://nmap.org/ http://fr.wikipedia.org/wiki/nmap http://fr.wikipedia.org/wiki/nessus_%28logiciel%29 http://www.supinfo.com Port scanning et Nmap Nessus : Scanner de vulnérabilités http://cyberzoide.developpez.com/securite/guide methodologie hacking/ Petit manuel méthodologique du hacker Doc : Les tests d'intrusion 67
Merci pour votre attention 68