• Aucun résultat trouvé

Les tests d’intrusion dans les réseaux Internet, l’outil Nessus

N/A
N/A
Protected

Academic year: 2022

Partager "Les tests d’intrusion dans les réseaux Internet, l’outil Nessus"

Copied!
60
0
0

Texte intégral

(1)

Sujet N° A04-03

Les tests d’intrusion dans les réseaux Internet, l’outil Nessus

Dongé Laurent laurent_donge@yahoo.fr Président du jury : Mr. GRESSIER

CNAM Paris – Département informatique

(2)

Sommaire

1. INTRODUCTION ... 4

2. LES TESTS D’INTRUSION DANS LES RESEAUX INTERNET... 5

2.1RESEAUX INTERNET... 5

2.1.1 Présentation ... 5

2.1.2 La sécurité ... 7

2.2TESTS DINTRUSION... 8

2.2.1 Définition... 8

2.2.2 L’audit de vulnérabilité ... 11

2.3OUTILS LIES AUX TESTS DINTRUSION... 11

2.3.1 Divers outils ... 12

2.3.2 Outils d’audit... 14

3. NESSUS... 15

3.1L’OUTIL... 15

3.1.1 Objectif ... 15

3.1.2 Architecture... 16

3.2MISE EN OEUVRE... 18

3.2.1 Installation ... 18

3.2.2 Configuration ... 18

3.3TESTS DISPONIBLES... 19

3.4LES RAPPORTS... 21

3.4.1 Consultation ... 21

3.4.2 Structuration... 21

3.5EVOLUTIONS... 22

4. LES TESTS REALISES AVEC NESSUS... 23

4.1PROTOCOLE DES TESTS... 23

4.2DEPLOIEMENT... 23

4.2.1 Topologie... 23

4.2.2 Paramétrage... 24

4.3EXPLOITATION... 24

4.3.1 Résultats ... 24

4.3.2 Analyse de l’audit... 29

4.4 LIMITES DUTILISATION... 30

5. NESSUS PAR RAPPORT AUX AUTRES SCANNERS... 31

5.1PROTOCOLE DES TESTS... 31

5.2DEPLOIEMENT... 31

5.2.1 Topologie... 31

5.2.2 Paramétrage... 32

5.3EXPLOITATION... 32

5.3.1 Résultats ... 32

5.3.2 Analyse de l’audit... 35

5.4SYNTHESE COMPARATIVE... 36

(3)

ANNEXE A GLOSSAIRE... 41

ANNEXE B BIBLIOGRAPHIE / REFERENCE INTERNET ... 47

ANNEXE C TABLE DES ILLUSTRATIONS... 49

ANNEXE D NESSUS : INSTALLATION ET CONFIGURATION... 50

ANNEXE E FAILLES DE VULNERABILITES DETECTEES ... 60

Conventions

Les différentes typographies utilisées dans ce document sont les suivantes :

• une typographie ordinaire pour le texte,

Une mise en gras pour les termes figurant dans le glossaire (Annexe A).

(4)

1. Introduction

Du fait de la démocratisation des moyens de connexion à l’Internet due à une pratique des prix de plus en plus attractifs par les différents fournisseurs d’accès, et d’une couverture géographique de plus en plus importante, le nombre d’internautes utilisant des connexions de type haut débit ne cesse de croître. Avec ces types de connexion, les internautes restent en ligne longtemps, ce qui les expose davantage à la convoitise de personnes mal intentionnées qui voient en eux des ressources à utiliser afin, par exemple, d’augmenter leur notoriété dans le monde des pirates. En effet, un pirate peut prendre le contrôle d’un tel poste afin d’attaquer une institution de l’Etat ou un acteur de l’Internet connu, tel qu’un portail ou un site de vente en ligne.

Les entreprises et les particuliers se voient donc confrontés de façon quotidienne à des vers, des virus, des attaques de tous types ou des tentatives d’intrusions. La sécurité est plus que jamais une problématique d’actualité et nous pouvons facilement le constater en parcourant les journaux de la presse spécialisée.

Un moyen rapide de connaître l’étendue de la fragilité de son environnement, vis à vis des attaques diverses et variées, est d’effectuer des tests d’intrusions qui permettent d’avoir une liste des failles de vulnérabilités potentielles.

L’une des étapes les plus importantes de la démarche utilisée dans les tests d’intrusion, est la récolte d’informations relatives aux systèmes et services présents sur les ordinateurs constituant le réseau. Ces informations permettent en effet, soit par recherche sur l’Internet, soit par l’emploi d’outils dédiés tels que les scanners de vulnérabilité, la détermination des failles de vulnérabilité.

Ce travail se propose de présenter les tests d’intrusion dans les réseaux Internet. En particulier nous présenterons l’outil Nessus qui permet de scanner des réseaux et de mettre en évidence un certain nombre de leurs failles de vulnérabilité.

Dans un premier temps, après une rapide présentation d’Internet en terme de topologie et de services proposés, nous aborderons le thème de la sécurité des réseaux informatiques qui devient un véritable enjeu pour les particuliers et les entreprises. Nous préciserons également la démarche généralement suivie lors des tests d’intrusion. Puis nous l’illustrerons en décrivant un certain nombre d’outils utilisés. Les outils d’audit seront ensuite plus particulièrement abordés, ainsi que la phase d’audit des réseaux dans les tests d’intrusion.

Une fois le contexte clairement posé, nous nous intéresserons plus spécialement au scanner Nessus. Que permet-il de faire ? Sur quelle architecture est il basé ? Comment le met-on on en place dans un réseau ? Quelles failles de vulnérabilité permet il de mettre à jour ? Comment sont restituées les informations récoltées et les failles de vulnérabilité découvertes ?

Suite à cette présentation de l’outil Nessus, nous l’utiliserons afin de faire des tests sur un réseau local Ethernet. La démarche suivie lors de ces tests sera également précisée.

Nous finirons par comparer Nessus avec différentes solutions du marché, gratuites ou commercialisées, afin de mieux le positionner par rapport à ce qui existe.

(5)

2. Les tests d’intrusion dans les réseaux Internet

2.1 Réseaux Internet

2.1.1 Présentation

Nous allons ici nous intéresser à deux aspects d’Internet. D’abord à l’Internet en tant qu’un ensemble de réseaux interconnectés, ensuite à ses nombreux services qui ne cessent d’évoluer.

2.1.1.1 Un ensemble de réseaux interconnectés

Les internautes se connectent pour des raisons diverses et variées. En effet, ils peuvent se connecter à partir de leur travail pour des raisons professionnelles ou à partir de chez eux pour des raisons personnelles ou ludiques.

Le public se connectant est très hétérogène. Les moyens de connexion sont multiples (ADSL, bas débit, mobile etc.) , ainsi que les systèmes d’exploitation utilisés (Windows, Linux, Unix, Mac etc.).

La figure suivante illustre la façon dont sont connectés des ordinateurs sur Internet.

FIGURE 1 : INTERNET

(6)

2.1.1.2 De nombreux services proposés

Afin de mieux positionner les différents protocoles dont nous allons parler dans la suite, nous allons faire un bref rappel du modèle OSI. Le modèle OSI est un standard qui permet de faciliter l’étude des technologies impliquées dans les réseaux. Des protocoles définissent les divers services offerts par les différentes couches du modèle. En général, un utilisateur n’a connaissance que des services proposés par la couche d’application du modèle OSI, alors que, les hackers et les crackers possèdent davantage de connaissances sur les protocoles réseaux. En effet, l’intrusion dans un réseau nécessite une bonne compréhension de l’ensemble des couches, des plus hautes du modèle jusqu'à la couche réseau.

Le tableau ci dessous présente le modèle OSI :

Modèle de référence Suite IP Internet Protocole

7 Application NFS

6 Présentation SMB

5 Session

FTP,Telnet SSH,SMTP

http,NNTP RPC

Protocoles de niveau application

4 Transport TCP,UDP

3 Réseau IP (ICMP)

2 Liaison ARP

1 Physique Physique

Protocoles de niveau réseau

Chaque fois qu’une machine a recours aux services proposés sur une autre machine, elle indique une destination en fournissant une adresse Internet IP et un protocole de transport tel que UDP ou TCP et spécifie un port qui correspond au service désiré. Un port est lié à une application. Lorsqu’une requête est faite sur ce port, l’application serveur correspondante répond au client qui a émis la requête. Les ports permettent donc à un ordinateur de faire plusieurs choses à la fois. Il est possible grâce à eux de faire transiter plusieurs types d’informations sur une même connexion.

Il existe de nombreux ports sur un serveur Internet moyen. La plupart d’entre eux sont inactifs. Un standard a été défini pour l’assignation des ports par l’IANA. La valeur d’un port est comprise entre 0 et 65535. Les ports se divisent en trois catégories. Les ports compris entre 1 à 1023 sont les «Well known » ports. Ces ports bien connus sont associés à un service de base (21 : Telnet, 80 : HTTP). Les ports compris entre 1024 et 49151 sont les registered ports qui ont été réservés pour un service donné (3306 : MySQL). Enfin, les ports compris entre 49152 et 65535 sont les ports dynamiques utilisés pour les sessions.

Le tableau suivant précise certains des ports les plus connus avec les applications qui leurs sont habituellement associées. Chaque port est associé à des protocoles de niveau application ou services visibles qu’un utilisateur peut utiliser directement.

Service ou application Port

Hypertext Transfert Protocol (HTTP) Port TCP 80

Domain Name System (DNS) Port UDP et TCP 53

Telnet Port TCP 23

File Transfert Protocol (FTP) Port TCP 20 et 21 Simple Mail Transfer Protocol (SMTP) Port TCP 25

Secure shell (SSH) Port TCP 22

HTTP sur SSL/TLS (HTTPS) Port TCP 443

(7)

Parmi les protocoles les plus connus, nous pouvons citer :

Ö HTTP, c’est un protocole léger, donc rapide, qui sert à gérer l’information hypermédia. Il est utilisé pour présenter les données sur le Web.

Ö DNS fournit le service de traduction des noms d’hôtes en adresse IP, et inversement.

DNS traduit les adresses entre les couches réseaux et applications.

Ö FTP est une méthode standard permettant de transférer des fichiers entre deux machines.

Ö SMTP permet de transporter du courrier de façon fiable et efficace.

Ö ARP fait correspondre les adresses Internet aux adresses physiques des machines.

L’utilitaire, Telnet permet à un utilisateur de se connecter à une machine distante et d’y effectuer des commandes.

Et l’interpréteur de commande SSH permet de se connecter sur un autre ordinateur d’un réseau, d’y exécuter des commandes à distance de la même façon qu’avec Telnet. A la différence près, qu’il propose des mécanismes d’authentification et une méthode de cryptage des communications.

2.1.2 La sécurité

2.1.2.1 Un enjeu

Le nombre de services disponibles sur l’Internet ne cesse de croître chaque jour, ainsi que le nombre de machines qui se connectent de façon permanente. Ceci a pour conséquence d’augmenter les risques liés au fait d’être présent sur Internet et de subir des attaques.

Les motivations des pirates ont diverses origines. Elles peuvent être liées à un goût du défi ou l’envie d’avoir plus de notoriété dans leur milieu. C’est ainsi que les organisations à grande visibilité comme les gouvernements ou les institutions financières sont de fréquentes cibles. L’appât du gain ou des avantages financiers relatifs à des activités comme le vol d’informations et l’espionnage industriel peuvent constituer une autre explication au désir de prendre contrôle de ressources informatiques que les pirates ne possèdent pas. De plus, la plupart du temps, les pirates se réfugient derrière un sentiment d’impunité et, dans la majorité des cas, ne se rendent pas réellement compte des risques qu’ils encourent.

Le piratage repose essentiellement sur les erreurs de conception des systèmes et sur des mauvais paramétrages lors des configurations de ces derniers, ainsi que sur des failles de sécurité présentes dans les différents services proposés. Nous assistons alors à la mise en place d’une compétition entre les pirates et les personnes en charge de la sécurisation des systèmes tels que les administrateurs réseaux ou les personnes en charge du développement des logiciels. Les premiers cherchent à exploiter par tous les moyens les trous de sécurité présents. Les seconds tentent de sécuriser le système d’information. La conséquence est que la sécurité est devenue un véritable enjeu pour les entreprises qui veulent protéger leur système d’information et leurs sites de commerce électronique . C’est aussi un enjeu, pour les particuliers, qui aimeraient bien utiliser leur connexion Internet en toute tranquillité.

(8)

2.1.2.2 Comment sécuriser un réseau ?

La problématique de sécurisation est liée à une démarche complexe qui revêt un caractère cyclique. En effet, l’évolution rapide des technologies et du parc informatique des entreprises fait que la question de la sécurité se pose de façon récurrente. Par exemple, l’apparition des réseaux sans fils (WiFi) a introduit de nouveaux types de vulnérabilités. Il en va de même lorsque nous ajoutons un nouveau poste dans un réseau d’entreprise. Si sa configuration n’est pas faite de façon correcte, ceci peut permettre des intrusions dans une partie du réseau.

La sécurisation d’un réseau n’est pas simple à réaliser. Le réseau est constitué d’un ensemble de systèmes hétérogènes. De nombreux services, qui ne cessent d’évoluer, sont disponibles. Les personnes en charge de la sécurité telles que les administrateurs réseau, ont à leur disposition toute une panoplie d’outils :

Ö Des logiciels spécialisés dans la protection tels que les firewalls dont le rôle est de filtrer les paquets circulant entre le réseau et l’Internet, ou les logiciels anti-virus qui permettent de détecter et éradiquer les virus.

Ö Des technologies dédiées permettant le cryptage des données circulant sur le réseau telles que les protocoles sécurisés.

Ö Des outils de surveillance, des journaux de traces et des logiciels de détection d’intrusion IDS.

Ö Pour finir, des scanners de vulnérabilités qui permettent de mettre en évidence les failles présentées par le réseau, que peuvent exploiter les pirates afin de corrompre le système. Ces scanners sont utilisés lors des tests d’intrusions effectués par les administrateurs réseaux pour anticiper les intrusions non désirées.

2.2 Tests d’intrusion

2.2.1 Définition

2.2.1.1 Qu’est ce qu’un test d’intrusion ?

Les tests d’intrusion constituent une tentative autorisée de simuler les activités d’un pirate qui veut s’approprier des ressources qui ne sont pas les siennes, ou nuire au bon fonctionnement d’un système d’informations, par exemple en le rendant indisponible.

Ces tests permettent d’avoir une image claire de la sécurité globale d’une entreprise ou d’un accès Internet chez un particulier. Ils correspondent à des attaques simulées d’un réseau.

Ils permettent de tester la robustesse de la sécurité, d’apprécier l’efficacité des mécanismes mis en œuvre. Il est ainsi possible de savoir si les mécanismes mis en place permettent de stopper ou non un attaquant malintentionné.

Les tests d’intrusion ne peuvent pas se réduire à la simple utilisation d’un logiciel de détection automatique de vulnérabilités par balayage. Ils sont bien plus, en particulier ils

(9)

qualifier les failles de manière plus réfléchie et auront à l’esprit les conséquences des tests qu’ils effectueront. Néanmoins, les scanners de vulnérabilité présentent un certain intérêt dans leur caractère automatique mais ils ne suffisent pas à eux seuls à obtenir une bonne détermination des failles de vulnérabilité que présente un réseau.

2.2.1.2 Stratégie de tests Il existe plusieurs stratégies de tests :

Ö Les tests externes qui correspondent à un examen des services disponibles via Internet.

Ö Les tests internes qui exploitent les failles de vulnérabilité qui pourraient être disponibles à un attaquant en provenance d’Internet ayant réussi à s’introduire dans le réseau ou à un employé malveillant.

Les méthodes et techniques utilisées dans les tests internes ou externes sont identiques. La seule différence notable est l’étendue des connaissances relatives au réseau, en possession des attaquants.

Pour simuler ce degré de connaissance du système, les tests d’intrusion peuvent se faire de plusieurs façons :

Ö Test en aveugle : les équipes en charge du test ont un accès limité aux renseignements relatifs à la configuration du système d’information

Ö Test en double aveugle : seule la personne qui est à l’initiative du test est au courant, la personne en charge de la sécurité ne l’est pas.

Ö Test ciblé : l’équipe de sécurité est au courant et a des connaissances sur le réseau et sur la cible visée.

2.2.1.3 Types de tests

Il existe différents types de tests parmi lesquels nous pouvons noter ceux relatifs : Ö à la sécurité des applications Web.

Les points à évaluer alors sont ceux relatives à la confidentialité et l’intégrité des communications sur le réseau, à l’authentification des utilisateurs, à l’intégrité des sessions entre l’internaute et les applications, à la gestion des informations stockées sur les postes clients telles que les cookies…

Ö au déni de service (DoS)

Les dénis de service sont des attaques dont le but est de rendre indisponibles des services ou de faire tomber un serveur proposant des services. Ceci peut poser des problèmes importants lorsque la disponibilité continue des services est impérative.

(10)

Ö au scannage de numéros de téléphone (War dialing)

Cette technique consiste à identifier des connexions à l’Internet au sein d’une entreprise par appel systématique d’une série de numéros de téléphone. Une fois les modems ou autres dispositifs d’accès détectés, les techniques d’analyse et d’exploitation sont employées pour déterminer dans quelle mesure il est possible d’infiltrer le réseau de l’entreprise.

Ö au réseau sans fil

Ce type de test a pour but de cerner les lacunes ou les faiblesses en matière de sécurité dans la conception, la mise en œuvre ou l’exploitation des réseaux sans fil. Par exemple, nous pouvons citer le war driving qui consiste à rechercher des réseaux sans fil non sécurisés à l’aide d’une voiture, d’un ordinateur portable, d’une carte Wifi et d’une antenne.

Ö à l’ingénierie sociale

Ces techniques exploitent les interactions sociales, qui impliquent les utilisateurs d’un système d’information cible, afin de recueillir de l’information et de s’infiltrer dans le réseau de l’organisation. Tous les moyens sont bons, cela peut aller jusqu'à l’usurpation d’identité.

2.2.1.4 Leurs limites

Les tests d’intrusion peuvent échouer, ce qui ne signifie pas que le système ne présente pas de faille de vulnérabilité.

Il est difficile voire impossible de tester toutes les failles de vulnérabilité présentes dans un réseau. Les scanners de vulnérabilité par exemple ne simulent pas toutes les nouvelles failles. Certaines des vulnérabilités ne sont pas prises en compte par ces derniers, soit parce que la vulnérabilité est totalement inconnue, soit parce que la mise à jour du logiciel prenant en compte cette vulnérabilité n’est pas encore disponible.

De plus, il est nécessaire de répéter de façon régulière ces tests. Tout ajout de matériel, l’apparition de nouveaux outils de piratage ou de nouvelles technologies remettent en cause les résultats des tests d’intrusion.

2.2.1.5 La démarche utilisée dans les tests d’intrusion

FIGURE 2 : LA DEMARCHE UTILISEE DANS LES TESTS DINTRUSION

(11)

Nous nous intéressons ici à la description de la démarche employée dans les tests d’intrusion : A. La phase préparatoire

1. collection d’informations publiques (DNS, WhoIs, …) 2. cartographie réseau de la cible ( ping, traceroute, nmap ) 3. identification de vulnérabilité (Nessus)

4. consolidation de données obtenues B. La phase de réalisation

1. conception des scénarii d’attaques à évaluer 2. exécution des scénarii

3. consolidation des données obtenues

Dans le cas des hackers, l’intrusion s’arrête ici. Ils nettoient généralement les traces laissées par leur passage.

Dans le cas d’un audit de sécurité, il faut alors fermer les brèches ouvertes, puis passer à l’étape suivante.

C. La phase de restitution

1. synthèse des données obtenues lors des phases préparatoires puis de réalisation 2. définition d’un plan d’actions correctrices

3. présentation des résultats au commanditaire du test

Nous illustrerons dans la suite cette démarche en indiquant les différents outils utilisés agrémentés d’exemples.

2.2.2 L’audit de vulnérabilité

Nous parlons ici de l’audit en tant qu’étape de la phase préparatoire de la démarche utilisée dans les tests d’intrusion. Elle consiste à récupérer des informations relatives aux réseaux et aux systèmes présents sur ces derniers, dans le but d’identifier les failles de vulnérabilité. Les failles de vulnérabilité résultent en général de limites inhérentes à la conception des technologies ou découlent de mauvaises configurations ou utilisations. Les tests d’intrusions donnent des indications sur la facilité ou à l’inverse la difficulté d’accéder à l’information et au système d’informations en exploitant les vulnérabilités de sécurité. Les scanners de vulnérabilité correspondent à une façon automatisée de mise en évidence de ces failles. Ils indiquent la façon dont il est possible d’exploiter ces vulnérabilités et les méthodes permettant de résoudre les problèmes. Ils couvrent, en général, un large éventail de vulnérabilités connues. Tandis que les tests d’intrusion ciblent certaines vulnérabilités.

2.3 Outils liés aux tests d’intrusion

Nous allons reprendre dans cette partie les différentes étapes de la démarche utilisée dans les tests d’intrusion que nous avons présentées précédemment, dans lesquelles sont utilisés des outils spécifiques. Nous donnerons également des exemples afin de mieux illustrer la démarche.

(12)

FIGURE 3 : EXEMPLES DOUTILS UTILISES LORS DUNE INTRUSION

2.3.1 Divers outils

2.3.1.1 Etape de collecte d’informations publiques (A.1.)

La commande Whois permet d’obtenir des informations publiques correspondant au réseau cible : nom du serveur DNS, nom du responsable, numéro de téléphone, adresse e-mail, description du réseau etc.

2.3.1.2 Etape de cartographie du réseau cible (A.2.)

Les outils utilisés dans cette étape permettent de récolter des informations relatives à la topologie du réseau afin de déterminer sa structuration. Parmi ces outils, nous pouvons trouver :

Ö Nmap qui est un scanner de réseau. Il permet de savoir quels sont les ports ouverts, fermés ou filtrés , ainsi que le système d’exploitation autorisé et sa version. Il permet par exemple de scanner un ensemble d’adresses IP en précisant la méthode de scan utilisée, les types de ports tels que les ports UDP, en tentant d’identifier la machine cible et en sauvegardant le résultat dans un fichier.

Ö Siphon permet de découvrir la topologie de la portion de réseau sur laquelle se trouve la machine où nous le lançons. Il indique les systèmes d’exploitation présents sur les machines , les ports ouverts , les machines qui ont le droit de se connecter au réseau. Il est ainsi possible de savoir pour quelle machine nous devons nous faire passer, afin de contourner les Firewalls.

Ö Dsniff permet de visualiser les paquets présents sur le réseau et ainsi de récupérer des clefs en sniffant (sniffer).

Ö Finger permet d’obtenir des comptes valides. En général, le démon correspondant est désactivé.

(13)

2.3.1.3 Etape d’identification des vulnérabilités (A.3.)

L’objectif est d’identifier les failles potentielles présentes sur le réseau en utilisant des scanners de vulnérabilité tels que Nessus. L’utilisation de ces logiciels n’est pas très discrète.

En effet, étant donné que ces logiciels testent des failles bien connues des NIDS, ils sont facilement repérables. Les NIDS sont des systèmes de détection d'intrusion basés au niveau d’un réseau. Si nous souhaitons rester discrets, lors de l’audit de vulnérabilité, il est préférable de rechercher les vulnérabilités existantes sur Internet, sur des sites tels que SecurityFocus (www.securityfocus.com), Bugtraq (www.bugtraq.org). Les autres outils d’audit de vulnérabilité sont abordés un peu plus loin.

Une fois un certain nombre de vulnérabilités identifiées, il est alors nécessaire d’éliminer les failles non fondées. Pour cela nous utilisons des petits programmes appelés Exploits. Leur objectif est d’exploiter les vulnérabilités auxquelles ils correspondent. Ils sont programmés dans divers langages. Il n’y a pas d’automatisation qui permet l’utilisation ensembliste des Exploits mais il existe néanmoins des bibliothèques dédiées.

2.3.1.4 Etape d’exécution des scénarii (B.2.)

Nous pouvons distinguer deux ensembles de produits utilisés dans cette étape, ceux qui permettent de s’introduire sur un ordinateur ou un serveur et ceux qui permettent de se procurer des privilèges auxquels nous n’avons normalement pas accès.

a) Outils d’intrusion

Finger et Rusers permettent de trouver des comptes valides. Ce sont des commandes système de base d’Unix.

Exploits permettent d’exploiter des vulnérabilités afin d’avoir accès à un poste.

Netcat est un utilitaire multifonctions pour le réseau. Il fonctionne en client ou serveur en utilisant le protocole TCP. Il permet de simuler des services et d’écouter l’activité correspondant à un port donné.

Certains outils permettent la récupération de l’information qui circule sur le réseau. Nous pouvons citer par exemple : Sniffer, TCPdump, Siphon, Ethereal.

Ces outils permettent donc de s’introduire sur des serveurs. Par exemple, dans le cas où un routeur supporte la source routing, il est possible de recourir à IP spoofing. L’IP spoofing est une technique qui permet à une machine d’être authentifiée auprès d’une autre au moyen de paquets semblant émaner d’une adresse source habilitée. Cette technique peut être faite en deux étapes. Nous plaçons un alias sur l’interface réseau d’un poste, ensuite, nous utilisons une propriété du protocole IP qui est la possibilité de choisir la route à emprunter.

Netcat permet alors d’établir une connexion Telnet en précisant la route à emprunter.

b) Outils permettant l’élévation de privilèges

John the ripper qui permet d’obtenir des mots de passe en clair à partir de mots de passe cryptés.

(14)

Exploits qui permettent par exemple de devenir administrateur.

Dsniff qui ne capture que les mots de passe. Il supporte divers protocoles (SNMP, Netbios) et peut être utilisé avec des services tel que Telnet.

2.3.2 Outils d’audit

Il existe de nombreux logiciels qui permettent d’automatiser la découverte de vulnérabilités, nous les appelons des scanners. Ils permettent d’évaluer les vulnérabilités présentes sur les réseaux. Ils se déclinent sous plusieurs formes et donnent des résultats avec des précisions variables.

2.3.2.1 Internet Scanner

Parmi ces logiciels, nous pouvons citer Internet Scanner de la société ISS. Il peut s’intégrer au produit ISS Décisions pour être utilisé avec d’autres produits de sécurité tels que les systèmes de détection d’intrusions et les firewall (pare-feu).

2.3.2.2 SATAN, SAINT, SARA

Vers le début des années 90, est apparu SATAN qui a remporté un énorme succès dans le domaine. Il avait la particularité d’être open source. Il n’est plus mis à jour depuis plusieurs années. Mais, il existe une myriade d’outils similaires tel que l’outil open source SARA qui est la troisième génération d’outil d’analyse basé sur SATAN, ou la solution commerciale SAINT.

2.3.2.3 Retina

Nous pouvons également citer le logiciel Retina de la société eEye, qui est rapidement devenu populaire. Il analyse le trafic sur chaque port afin de déterminer le service utilisé. Il existe une fonction nommée CHAM permettant de découvrir de nouvelles failles de vulnérabilité. Cette méthode repose sur un moteur d’intelligence artificiel. Retina est une solution commerciale.

2.3.2.4 Nessus, NeWT

Enfin, il existe une autre offre dont nous allons parler de façon plus approfondie dans ce document, l’outil Nessus, et sa version Windows appelée NeWT. Nessus est un outil open source. Un français, renaud Deraison, est l’auteur et l’animateur de se projet. La version Windows est disponible sur le site de la société Tenable Network Security en version d’évaluation. Nessus semble être l’un des outils les plus populaires du moment.

(15)

3. Nessus

3.1 L’outil

3.1.1 Objectif

Nessus permet d’auditer des réseaux possédant divers systèmes tels que les différentes versions de Windows et de nombreuses déclinaison d’Unix telles que Linux, FreeBSD, Sun Solaris, HP-UX, IBM AIX … Nessus permet de faire des tests d’intrusion aussi bien interne qu’externe. Les audits peuvent donc avoir lieu à l’intérieur d’une entreprise ou à l’extérieur à travers Internet à l’aide d’un poste connecté au Web.

Nessus balaye les ports d’un serveur et recherche puis identifie les failles de vulnérabilité présentes. Il indique les méthodes que peuvent utiliser les hackers pour s’introduire à l’intérieur du réseau audité.

Il analyse les protocoles utilisés sur chacun des ports du serveur afin d’identifier les services présents. Il est ainsi capable de détecter les services même si ces derniers n’utilisent pas les ports qui leurs sont attribués par défaut. Par exemple, il sera capable de détecter un service FTP disponible sur un port autre que le port 21. Il est également capable de détecter les services multiples d’un même serveur. En effet, si deux serveurs Web tournent sur des ports différents qui ne sont pas les ports attribués par défaut, Nessus les détectera tous les deux.

A la fin du balayage des ports, Nessus présente la liste des failles de vulnérabilités et dans la majorité des cas, indique également la façon d’y remédier .

Afin de permettre une recherche d’informations plus aisée, chaque faille de vulnérabilité est associée à des identifiants, ce qui permet aux administrateurs de trouver davantage d’informations sur les vulnérabilités publiques. Par exemple, CVE (Common Vulnerabilities and Exposures) propose une liste de noms standardisés pour les vulnérabilités et les autres expositions de sécurité informatique. L’objectif de CVE est de constituer un référentiel de noms standardisés pour les vulnérabilités publiquement connues et les révélations relatives à la sécurité. Ce type de base d’informations est également proposé par le CERT et l’ICAT. Nessus associe à la plupart des failles de vulnérabilité identifiées des identifiants CVE, qui permettent d’obtenir davantage d’informations sur le Web.

(16)

3.1.2 Architecture

FIGURE 4 :TEST DINTRUSION EXTERNE

Nessus est basé sur une architecture client / serveur qui permet de multiples configurations. En effet, nous pouvons placer le démon de Nessus à l’extérieur du réseau sur l’Internet afin d’effectuer des séries de tests externes. Le client lui est à l’intérieur du réseau.

Il permet de contrôler le serveur et de configurer le serveur qui effectue l’attaque proprement dite de la machine cible. Il est ainsi possible d’avoir une vision claire des services effectivement vulnérables à partir d’Internet.

Nessus intègre d’importantes bases de connaissances relatives aux services proposés sur divers systèmes d’exploitation, aux failles de vulnérabilité et aux résolutions des problèmes crées par la présence des failles de vulnérabilité. La base de données a l’avantage d’être largement évolutive grâce au système de plug-in.

En effet, chaque test de sécurité se présente sous forme d’un plug-in extérieur. il est possible d’écrire ses propres tests sous forme de plug-in à l’aide d’un langage de script dédié NASL. De plus, des plug-in correspondant aux failles de sécurité les plus récentes sont disponibles sur Internet. Nous en dénombrons plus de 2000 à ce jour. Ces plug-in, sur un système d’exploitation de type Linux, sont placés dans le répertoire dédié /usr/lib/nessus/plugin/ . Dans l’interface cliente, il est possible de choisir les plug-in que nous voulons prendre en compte.

(17)

Grâce à la base de données, les tests peuvent coopérer entre eux. En effet, si un service FTP ne permet pas la connexion en anonyme, les tests associés à ce type de connexion ne seront pas effectués. La base d’informations permet de rendre plus efficace l’exécution des tests dans le sens où Nessus ne lance pas de façon systématique l’intégralité des tests existants. Il ne teste que ce qui est nécessaire par rapport aux services présents sur la cible. De plus, il existe une notion de dépendances entre les tests. Il est possible d’indiquer à un test de ne s’exécuter que si un ou plusieurs autres tests particuliers ont été réalisés. Si ce n’est pas le cas, le test ne s’effectue pas.

De plus, Nessus utilise des logiciels tiers s’ils sont disponibles : Le scanner de port Nmap qui fournit des fonctionnalités avancées dans le domaine du balayage de port ; Le logiciel Nitko ou Whisker qui permet de faire des tests et des attaques spécifiques sur les serveurs Web et les scripts CGI ; enfin l’outil Hydra qui fournit des attaques brute-force pour des services tels que Telnet, IMAP … Les attaques brute-force ont pour objectif de trouver un mot de passe valide. Ce sont des méthodes d’analyse de chiffrement où toutes les clefs possibles sont systématiquement essayées. Elles sont généralement basées sur un générateur ou un dictionnaire. Le fait que Nessus utilise des logiciels tiers tient du principe qu’il n’est pas nécessaire d’implémenter de nouveau ce qui existe déjà et répond parfaitement aux besoins.

FIGURE 5 : LE FONCTIONNEMENT DE NESSUS

(18)

Le principe de fonctionnement de Nessus est le suivant : 1. Le client Nessus se connecte et s’identifie.

2. Le client et le serveur s’échangent leurs certificats afin de crypter les données et que le serveur authentifie le client. Les certificats sont des fichiers chiffrés qui permettent d’authentifier les différents intervenants lors de transactions sur Internet.

3. Le serveur informe le client des différents tests et options disponibles.

4. Le client envoie les différents paramétrages au serveur.

5. Le serveur Nessus effectue un balayage de la cible à l’aide des différents scanners de port à sa disposition. Le scanner de port employé peut être Nmap.

6. La réalisation du scan.

7. Les informations récoltées lors du scan sont enregistrées dans la base de données.

8. Le serveur Nessus effectue les tests correspondant aux données recueillies lors du balayage des ports. Par exemple si le port 23 est ouvert, les test correspondant à Telnet sont lancés.

9. Les plug-in de tests analysent la cible en se reposant sur la base de données.

10. Les plug-in enregistrent les informations relatives aux tests dans la base de données.

11. Toutes les informations sont envoyées au serveur Nessus lors de l’exécution des tests.

12. Les informations récoltées ainsi que leurs analyses sont mises à la disposition de l’utilisateur.

3.2 Mise en oeuvre

3.2.1 Installation

L’installation de Nessus est assez rapide. Il est possible de télécharger les sources sur le site de Nessus http://www.nessus.org. Il est important de noter qu’il existe un package d’installation automatique nommé nessus-installer.sh qui facilite grandement l’installation de Nessus sous Linux. Pour plus d’informations, vous pouvez vous reporter à l’Annexe D

« Nessus : installation et configuration » de ce document.

3.2.2 Configuration

Après avoir installé le client et le serveur Nessus, il est nécessaire de créer un compte Nessus. Il est possible de définir des restrictions pour chaque utilisateur. Ainsi, Nessus serveur peut être utilisé par un ensemble d’administrateurs qui ne pourront tester que la partie

(19)

du réseau qui leur est attribuée. Dans les tests effectués par la suite, le profil utilisé ne comporte aucune restriction.

Ensuite, il est possible de préciser un certain nombre d’options du serveur à l’aide d’un fichier de configuration. Une fois ceci fait, nous pouvons lancer le serveur Nessus, puis le client Nessus.

Il est alors nécessaire de renseigner les différents onglets qui suivent :

Ö Nessusd host : permet de définir le serveur Nessus et de s’y connecter

Ö Plug-ins : il est possible ici de choisir la liste des plug-in que nous exécuterons lors de la détection des vulnérabilités.

Ö Prefs : cet onglet permet d’indiquer des informations complémentaires à Nessus, que des pirates sont susceptibles d’avoir en leurs possession. Cela peut être par exemple le nom et le mot de passe correspondant à un compte de type FTP, SMB, IMAP … etc.

La connaissance de ces informations complémentaires peut permettre à Nessus de détecter davantage de vulnérabilités et rendre ainsi le scan plus complet.

Ö Scan options : c’est ici que nous indiquons la plage de ports que nous souhaitons scanner. Il est également possible d’activer l’option « safe checks » pour éviter de faire tomber le serveur ciblé. Il est également possible d’activer ou de désactiver de nombreuses autres options : le nombre d’ordinateurs à tester en même temps, choix des scanners de port utilisé …

Ö Target selection : nous effectuons le choix de la ou les machines visées. Nous pouvons spécifier une adresse IP ou une plage d’adresse IP. La notion CIDR est supportée.

Ö User : permet de spécifier des règles pour, par exemple, exclure une adresse IP sur laquelle nous ne désirons pas effectuer de tests.

Se référer à l’Annexe D « Nessus : installation et configuration », afin de voir les copies d’écran des différents onglets. Après tout ceci, il est possible de commencer le test de vulnérabilité.

3.3 Tests disponibles

Nous distinguons deux grands ensembles de tests : ceux qui correspondent à des attaques dangereuses pour la cible tels que les dénis de service qui peuvent avoir pour conséquence l’indisponibilité du système et ceux qui ne présentent pas de risques.

Ces deux grands ensembles de tests sont divisés en 24 familles :

Ö Backdoors : attaques et tests relatifs aux programmes qui détournent les fonctionnalités systèmes dans le but d’ouvrir des accès utiles aux pirates. Ils sont généralement contenus à l’intérieur de programmes inoffensifs

Ö CGI abuses : tests correspondants aux programmes écrits en script (php, perl…) utilisés sur les serveurs Web

(20)

Ö CISCO: tests relatifs aux routeurs CISCO

Ö Default Unix accounts : tests correspondant aux comptes définis par défaut Ö Denial of service DoS : tests d’attaque de type déni de service

Ö Finger abuses : test détournant la commande finger qui permet d’obtenir des informations sur un utilisateur connecté à un réseau informatique

Ö Firewalls : analyse relative aux logiciels permettant de contrôler le trafic Ö FTP : tests du protocole de transfert de fichier

Ö Gain of shell remotely : tests relatifs à l’obtention d’un interpréteur de commande à distance tel que SSH

Ö Gain root remotely : tests relatifs a l’obtention à distance de privilèges

Ö General : tests liés aux informations générales relatives aux systèmes et aux logiciels Ö Misc : tests divers

Ö Netware : tests liés au système d’exploitation développé par Novell corporation pour différents type de LAN

Ö NIS : tests relatifs aux services d’informations sur le réseau

Ö Peer-to-peer File sharing : tests relatifs aux partages de fichiers de type peer to peer Ö Port scanners : scanner de port utilisé par Nessus

Ö Remote file access : tests d’accès à des fichiers distance Ö RPC : tests de détection de différents services proposés Ö Settings : plug-in relatif au paramétrage de Nessus

Ö SMTP problèmes : tests relatifs aux problèmes relatifs au serveur mails.

Ö SNMP : tests relatifs à ce protocole permettant d’administrer les réseaux TCP/IP Ö Useless services : tests relatifs aux services qui ne sont plus utiles mais qui peuvent

être encore activés.

Ö Windows : tests correspondant à des informations générales relatives aux systèmes et aux logiciels de type Windows

Ö Windows - user management : tests touchant l’administration des utilisateurs.

(21)

3.4 Les rapports

3.4.1 Consultation

La consultation des résultats obtenus se fait au travers du client Nessus qui propose 5 parties distinctes dans la fenêtre d’affichage (Se reporter à l’Annexe D : « Nessus : installation et configuration » pour voir une copie d’écran de cette fenêtre).

Ö Une première zone permet de sélectionner un sous réseau qui vient d’être testé.

Ö Une seconde zone permet de choisir un ordinateur ou un serveur au moyen de son adresse IP.

Ö Une troisième zone indique les ports qui ont été découverts avec une indication du niveau de gravité maximale associé à chaque port.

Ö Une quatrième zone permet d’avoir la liste des failles découvertes sur un port avec leurs niveaux de gravité. C’est ici qu’est indiqué si le port a des alertes de sécurité, des notes de sécurités ou des trous de sécurités.

Lorsque nous sélectionnons un type de gravité, la liste exhaustive des vulnérabilités de ce type pour le port apparaît dans la cinquième zone. Les informations fournies dans cette dernière zone nous indiquent comment des pirates peuvent exploiter les failles, mais aussi comment nous pouvons les combler. Les références de type identifiant CVE et autres sont indiquées pour chaque faille afin que nous puissions aller chercher d’avantage d’informations sur le Web.

Les informations ainsi obtenues sont exportables sous divers formats. Nous pouvons citer par exemple les formats : ASCII text, LaTeX, HTML ou « Spiffy » HTML, c’est à dire des documents HTML qui comportent des graphiques et des graphes.

Il est à noter que l’interface cliente standard n’est pas la seule. Il existe d’autres interfaces, en particulier une interface Web qui est disponible sur le site officiel de Nessus.

3.4.2 Structuration

Nessus fournit des rapports complets. Ils ne nous indiquent pas simplement ce qui ne va pas avec notre environnement, mais la plupart du temps, nous donnent des conseils de mise à jour des services détectés comme étant vulnérables et nous donne le niveau de risque associé à chacun des problèmes trouvés en trois catégories : vulnerability, warning et informational. Si nous prenons un rapport de type HTML, Nessus va nous indiquer les informations suivantes :

Ö Le nombre d’ordinateurs testés, le nombre total de trous de sécurité et de warning.

Ö la liste des ordinateurs testés en indiquant leurs adresses IP

Ö Par ordinateur, il indique les ports et services découverts ainsi que le niveau de gravité le plus élevé correspondant à ce port et à ce service. Ainsi que la liste des messages donnés par Nessus en indiquant le risque associé ( vulnerability, Warning, Informationnal), le service et port correspondant et les problèmes et solutions possibles. Il fournit également les identifiants CVE et autres tels que IAVA ainsi qu’un identifiant propre à Nessus nommé Nessus ID.

(22)

3.5 Evolutions

Renaud Deraison et Ron Gula ont fondé la société TNS Tenable Network Security.

Renaud Deraison est comme nous l’avons vu à l’origine du projet Nessus. Ron Gula, quant à lui, a travaillé à la réalisation de DRAGON qui est un outil de détection d’intrusion. Cette société propose une offre qui repose entre autre sur l’association de Nessus avec un système de détection d’intrusion (IDS). L’un des objectifs est d’avoir une interface qui centralise les résultats de plusieurs scanners Nessus, ainsi que des alertes d’IDCs placées sur le réseau, dans une unique console d’administration. Ceci permet de corréler les informations provenant des IDCs avec celles provenant des scanners. Il est ainsi possible de déterminer si une tentative d’intrusion est critique ou pas, par rapport aux failles de vulnérabilité présentes.

Un second objectif de cette offre est la couverture de grands réseaux tels que les réseaux de classe B tout en sollicitant moins l’infrastructure. Pour y parvenir, l’outil repose sur une architecture nommée Lightning, basée sur des Agents relais (proxy) qui peuvent piloter des ensembles de scanners.

L’évolution de Nessus et des autres outils de détection de vulnérabilité irait donc vers une meilleure intégration de ces derniers dans une solution globale de sécurisation des réseaux qui permettrait de centraliser davantage les informations des divers outils relatifs à la sécurité informatique afin de travailler plus efficacement.

(23)

4. Les tests réalisés avec Nessus

4.1 Protocole des tests

Nous allons dans cette partie effectuer une série de tests à l’aide de Nessus. Suite à des contraintes de type matériel, la stratégie adoptée est une stratégie de type interne. Le client et le serveur sont tous deux situés à l’intérieur d’un réseau local Ethernet. L’objectif est de mieux appréhender ce qu’est un scanner de vulnérabilité au travers de tests simples.

Test 1 : Audit avec Nessus sans utiliser d’attaques dangereuses

Nous effectuons des tests de vulnérabilité sur plusieurs ordinateurs qui possèdent des systèmes d’exploitation différents. Divers services et partages de répertoire ont été activés.

Les tests effectués ne sont pas de type destructif. Des attaques dites dangereuses ne sont pas utilisées dans ce Test. Nous parlons d’attaques dangereuses dans la cas où elles peuvent rendre des services ou un serveur indisponibles. Les attaques de Déni de Service DoS sont un exemple d’attaque dangereuse. Une attaque DoS permet de faire tomber un service pour qu’il ne soit plus assuré.

Test 2 : Audit avec Nessus en utilisant des attaques dangereuses

Tous les types d’attaque sont utilisés dans ce test même celles de type destructif de type Déni de Service DoS. Ceci va permettre de savoir dans quelle mesure les attaques dangereuses influent sur les résultats obtenus.

Test 3 : Utilisation de Nessus avec Nmap et des attaques dangereuses

Nessus utilise dans ce test en plus de ses scanners de port par défaut le logiciel Nmap qui est réputé pour être l’un des meilleurs scanners de ports open source. Nous pouvons ainsi avoir une idée des apports de ce logiciel Nmap au niveau des audits effectués par Nessus.

4.2 Déploiement

4.2.1 Topologie

FIGURE 6 : LE RESEAU ETHERNET UTILISE POUR LES TESTS

La figure ci dessus représente le réseau Ethernet utilisé pour les tests.

(24)

Le réseau Ethernet utilisé pour les tests est constitué de trois ordinateurs reliés entre eux via un HUB 10 mégabits. Différents systèmes ont été installés sur ces postes. Les configurations de postes ont été indiquées dans le tableau suivant :

Ordinateur Poste N1-Linux Poste N2-98 Poste N3-2000

Adresse IP 168.192.1.2 168.192.1.3 168.192.1.4

Micro-processeur Duron 1 Ghz Celeron 650 Mhz Duron 750

Mémoire vive 128 méga 128 méga 260 méga

OS Linux Fedora core 1B Windows 98 SE 2 Windows 2000 serveur Scanner de vulnérabilité Nessus 2.10.a.

Sniffer Ethereal 0.10.3*

Des IP fixes ont été utilisées pour identifier les postes sur le réseau.

* Ethereal 0.10.3, un outil permettant le comptage des paquets qui transitent sur le réseau, a été installé sur le poste N2-98. Il va nous permettre de nous faire une idée du volume de paquets TCP, UDP, ICMP, ARP et autres types de paquets émis vers le poste N2-98. Ces outils sont appelés des sniffers. Ils permettent de renifler (dans le sens de capturer) les informations circulant sur le réseau

4.2.2 Paramétrage

Test 1 : Audit avec Nessus sans utiliser d’attaques dangereuses

Lors de l’installation, les paramétrages par défaut des systèmes d’exploitation ont été conservés. Les postes N1-Linux et N3-2000 sont protégés à l’aide de mot de passe. Le client et le serveur Nessus ont été installés sur le poste N1-Linux. Le scanner de port Nmap n’est pas utilisé pour ce test de vulnérabilité. La plage de port scanné est comprise entre 1 et 1500.

Test 2 : Audit avec Nessus en utilisant des attaques dangereuses

Les tests sont menés sur le poste N2-98 et N3-2000. Les tests correspondant aux attaques dangereuses sont activées dans ce test. Le scanner de port Nmap n’est pas utilisé pour ce test de vulnérabilité.

A. avec le poste N3-2000, sur une plage de ports comprise entre 1 et 1500.

B. avec le poste N3-2000, sur une plage de port comprise entre 1 et 65536.

C. avec le poste N2-98, sur une plage de ports comprise entre 1 et 1500.

Test 3 : Utilisation de Nessus avec Nmap et des attaques dangereuses

Les tests sont menés sur le poste N2-98 et N3-2000. Les tests correspondant aux attaques dangereuses sont activées dans ce test. On a indiqué à Nessus d’utiliser le scanner de port Nmap lors de l’audit.

A. sur le poste N2-98, sur une plage de ports comprise entre 1 et 1500.

B. sur le poste N3-2000, sur une plage de ports comprise entre 1 et 1500.

4.3 Exploitation

4.3.1 Résultats

Les tableaux utilisés dans cette partie correspondent à des comptages globaux des

(25)

réalisés ci-après à généré des rapports d’environ 16 pages. Les failles de vulnérabilité les plus importantes ont été mentionnées dans ce qui suit, ainsi que des informations relatives aux paquets utilisés lors des audits par Nessus.

Nessus donne trois types d’indications qui sont les suivantes :

Ö Trou de sécurité : indique les failles de vulnérabilités présentent

Ö Alerte de sécurité : indique des failles qui peuvent devenir des trous de sécurité Ö Message de sécurité : donne la possibilité à un attaquant de fournir des informations

sur le poste

Test 1 : Nessus sans Nmap - sans attaque de type DoS

Ordinateur cible : Poste N1-Linux / Poste N2-98 / Poste N3-2000 Durée du test : 20 minutes

Plage de port : 1-150 Informations obtenues :

Trou de sécurité Alerte de sécurité Message de sécurité

Total des indications 17 58 74

Nombre de ports concernés sur

Trou de sécurité Alerte de sécurité Message de sécurité

Poste N1-Linux 4 9 8

Poste N2-98 1 3 1

Poste N3-2000 6 16 13

Le total des indications représente le nombre total d’indications obtenues lors de l’audit. Le nombre de ports concernés indique le nombre de ports correspondant à chaque type d’indication pour chacun des postes cibles. Un port peut correspondre à plusieurs indications du même type. C’est pour cette raison que le total des indications ne correspond pas à la somme des ports concernés pour un type d’indication donné.

Services problématiques découverts sur

Poste N1-Linux Poste N2-98 Poste N3-2000

Ssh (22/tcp) Netbios-ssn (139/tcp) ftp (21/tcp)

Netbios-ssn (139/tcp) http (80/tcp)

Unknown (1024/udp) Unknown (135/tcp)

Unknown (665/tcp) Unknown (135/udp)

Netbios (139/tcp)

snmp (161/tcp)

Nous n’indiquons dans les tableaux de ce type qui suivent que les ports auxquels sont associés des trous de sécurité. Unknown est indiqué lorsque le service présentant la vulnérabilité n’est pas très connu. Pour plus d’informations concernant les vulnérabilités, vous pouvez vous reporter à l’Annexe E « Failles de vulnérabilités détectées » de ce document.

(26)

Comptage par Ethereal des paquets envoyés sur poste N2-98

Total TCP UDP ICMP ARP Other

8302 7766 270 220 18 2

100% 93.8 3.3 2.7 0.2 0

Commentaire : Ce tableau nous donne une idée du type de paquets qui sont envoyés sur une cible lors d’un audit effectué par Nessus.

Test 2 : Nessus sans Nmap - avec attaque de type DoS

A. avec le poste N3-2000, sur une plage de ports comprise entre 1 et 1500.

On utilise des attaques de type DoS.

Ordinateur cible : Poste N3-2000 Durée du test : 23 minutes Plage de port : 1-1500 Informations obtenues :

Trou de sécurité Alerte de sécurité Message de sécurité

Total des indications 15 35 38

Nombre de ports concernés sur

Trou de sécurité Alerte de sécurité Message de sécurité

Poste N3-2000 8 14 11

Services problématiques découverts sur le poste N3-2000

ftp (21/tcp) Unknow (135/tcp) Snmp (161/udp)

Smtp (25/tcp) Unknow (135/udp) General / tcp

http (80/tcp) Netbios-ssn (139/tcp)

Commentaire : Le fait d’utiliser des attaques de type DoS affine les résultats du test. Il y a davantage de failles qui sont considérées comme des trous de sécurité. La durée du test est légèrement supérieure au test précédent. Nessus fait uniquement les tests utiles par rapport au balayage de port qu’il a effectué.

B. avec le poste N3-2000 sur une plage de port comprise entre 1 et 65536.

Nous utilisons ici l’intégralité des attaques qu’elles soient dangereuses ou non. Il y a plus d’attaques dangereuses que dans le test précédent.

Ordinateur cible : Poste N3-2000 Durée du test : 2 heures

Plage de port : 1-65536 Informations obtenues :

Trou de sécurité Alerte de sécurité Message de sécurité

Total des indications 4 27 35

(27)

Nombre de ports concernés sur

Trou de sécurité Alerte de sécurité Message de sécurité

Poste N3-2000 4 14 9

Services problématiques découverts sur le poste N3-2000

ftp (21/tcp) Telnet (23/tcp) Netbios-ssn (139/tcp) Snmp (161/udp)

Commentaire : Le balayage des ports prend beaucoup plus de temps lorsque nous choisissions une plage plus importante. Le temps du balayage semble proportionnel à la plage de ports disponibles. De plus, l’audit n’a révélé que la présence d’un service terminal serveur hors de la plage de ports comprise entre 1 et 1500.

Le fait d’avoir utilisé la panoplie complète des tests dangereux a fait disparaître un certain nombre de faux positifs . Les tests dangereux permettent de réduire les fausses alarmes mais ont pour inconvénient de faire tomber les services que proposent les diverses machines. C’est aussi une raison pour laquelle des failles de vulnérabilités disparaissent. Il est sans doute nécessaire d’employer une démarche plus ciblée lorsque nous utilisons des attaques dites dangereuses pour ne pas faire tomber les services en cours de test et les rendre ainsi indisponibles aux attaques qui suivent.

C. avec le poste N2-98, sur une plage de ports comprise entre 1 et 1500.

Ordinateur cible : Poste N2-98 Durée du test : 10 minutes Plage de port : 1-1500 Informations obtenues :

Trou de sécurité Alerte de sécurité Message de sécurité

Total des indications 5 9 3

Nombre de ports concernés sur

Trou de sécurité Alerte de sécurité Message de sécurité

Poste N2-98 1 3 1

Services problématiques découverts sur le Poste N2-98 Netbios-ssn (139/tcp)

Comptage par Ethereal des paquets envoyés sur poste N2-98

Total TCP UDP ICMP ARP Other

13310 8265 2147 2878 8 12

100 62.1 16.1 21.6 0.1 0.1

Commentaire : Les attaques de types DoS semblent utiliser davantage les protocoles de type UDP et ICMP. Le poste ne propose aucun service particulier, le résultat du test n’apporte rien de plus que le test 1. Cependant, bien que ce poste ne propose qu’un simple partage de fichier, il pourrait être exploité par un pirate ayant réussi à s’introduire sur le réseau.

(28)

Test 3 : Nessus avec Nmap - avec attaque de type DoS

A. sur le poste N2-98, sur une plage de ports comprise entre 1 et 1500.

Ordinateur cible : Poste N2-98 Durée du test : 10 minutes Plage de port : 1-1500 Informations obtenues :

Trou de sécurité Alerte de sécurité Message de sécurité

Total des indications 5 9 3

Nombre de ports concernés sur

Trou de sécurité Alerte de sécurité Message de sécurité

Poste N2-98 2 3 1

Services problématiques découverts sur le Poste N2-98 Netbios-ssn (139/tcp)

Comptage par Ethereal des paquets envoyés sur poste N2-98

Total TCP UDP ICMP ARP Other

39535 31358 2681 5476 8 12

100 79.3 6.8 13.9 0 0

Commentaire : Le fait que Nessus utilise Nmap pour scanner les ports de l’ordinateur cible a triplé le nombre de paquets qui transitent sur le réseau. Les informations obtenues sont légèrement différentes par rapport aux résultats que donnait Nessus sans Nmap. Par exemple, une vulnérabilité de type problème général ICMP est apparue. Nmap affine les résultats de la détection.

B. sur le poste N3-2000, sur une plage de ports comprise entre 1 et 1500.

Ordinateur cible : Poste N3-2000 Durée du test : 38 minutes Plage de port : 1-1500 Informations obtenues :

Trou de sécurité Alerte de sécurité Message de sécurité

Total des indications 16 35 38

Nombre de ports concernés sur

Trou de sécurité Alerte de sécurité Message de sécurité

Poste N3-2000 8 13 4

Services problématiques découverts sur le poste N3-2000

ftp (21/tcp) Unknow (135/tcp) Snmp (161/udp)

Smtp (25/tcp) Unknow (135/udp) General / tcp

http (80/tcp) Netbios-ssn (139/tcp)

(29)

Comptage par Ethereal des paquets envoyés sur poste N3-2000

total TCP UDP ICMP ARP Other

134960 122610 3118 8192 28 12

100 90 2.3 6 0 0

Commentaire : Les résultats sont quasiment identiques au rapport obtenu lors de l’étape A du test 2. Il y a 4 messages supplémentaires et une alerte a disparu. Le nombre de paquets est élevé du fait de l’utilisation de Nmap, mais aussi parce que le poste N3-2000 sous Windows 2000 propose beaucoup plus de services que les autres postes. Plus le nombre de services est élevé, plus le nombre de tests effectués est important, ce qui explique le nombre élevé de paquets.

4.3.2 Analyse de l’audit

Les résultats des tests ont indiqué des failles de type débordement de tampon qui permettent à un attaquant d’exécuter du code à distance sur le poste, en particulier au niveau du protocole SMTP. D’autres failles permettent l’exécution de commandes, de codes et l’élévation des privilèges de l’attaquant. Nous n’allons pas analyser davantage ces failles détectées. Nessus a donc détecté un ensemble de failles qui rendent le réseau vulnérable à des attaques. Il indique dans les rapports pourquoi ces failles représentent des vulnérabilités, la façon d’y remédier soit en indiquant les patchs à télécharger qui résolvent le problème soit les nouvelles versions des produits qui ne présentent plus ces vulnérabilités. Il indique également des références CVE qui permettent aux administrateurs d’aller chercher davantage d’informations correspondant aux problèmes rencontrés.

Nous avons pu constater grâce aux tests effectués que les attaques dites dangereuses telles que les attaques de type DoS affinent les résultats obtenus. Ils permettent de réduire les faux positifs mais ils peuvent faire tomber les services qui ne seront plus disponibles pour la totalité du test. Dans le cas de l’utilisation d’attaques dangereuses, il est nécessaire de cibler ses choix sur des attaques particulières afin d’être sûr qu’elles puissent se faire dans des conditions normales. Il est sans doute nécessaire de prévoir des tests en plusieurs étapes en décomposant par exemple l’ensemble des attaques dangereuses en sous groupes.

Au vu des temps d’inspection des postes, Nessus ne semble faire que les tests utiles en fonction du balayage des ports qu’il a effectué. En effet, dans sa démarche de détection, Nessus commence par faire un balayage des ports en cherchant à identifier les protocoles utilisés. Puis, il effectue les tests sur ces ports correspondant aux protocoles découverts. Le fait de choisir des plages de balayage importantes augmente considérablement la durée de l’audit. Cette option s’avère très utile si nous voulons nous concentrer sur une plage de ports précise afin d’y découvrir un service atypique. La durée de l’audit est proportionnelle au nombre de ports ouverts et services présents, ce qui paraît tout à fait logique. Nous pouvons noter que la phase qui prend le plus de temps est celle correspondant au balayage des ports.

L’utilisation de Nmap, en plus des scanners de port, utilisé par défaut par Nessus affine légèrement les résultats obtenus. Mais, l’infrastructure réseau est davantage sollicitée.

Les rapports obtenus lors de cette série de test étant trop volumineux, ils n’ont pas été mis en annexe. Des exemples de rapport sont disponibles sur le site de Nessus http://www.nessus.org.

(30)

4.4 Limites d’utilisation

Les limites de l’utilisation de Nessus apparaissent avec des réseaux de tailles importantes. En effet, dans le cas des tests réalisés sur un petit réseau de trois postes qui ne propose pas énormément de services, les rapports d’audit atteignaient jusqu'à 16 pages. Dans un véritable réseau d’entreprise, où le nombre de machines présentes sur le réseau peut dépasser le millier, la question de l’exploitation convenable des résultats obtenus se pose. Des rapports volumineux peuvent vite devenir inexploitables. Une solution possible consisterait à faire appel à des personnes expérimentées dans le domaine de la sécurité des réseaux avant d’utiliser des outils tel que Nessus. Ce type d’outil ne remplace pas un audit de sécurité et encore moins une stratégie de sécurisation de réseaux informatique. Nessus peut être un des moyens de parvenir à sécuriser un réseau informatique mais pas une solution à elle seule, au même titre que les tests d’intrusion.

Dans un réseau important, il faut commencer par définir un plan d’actions afin de sécuriser le réseau. Ceci suppose un minimum de connaissances dans le domaine. Par exemple, il est possible de définir une politique de sécurisation par rapport à des parcs homogènes de machines tels que des postes utilisateur ou des serveurs d’applications. Il est donc nécessaire de faire un inventaire des services nécessaires au bon fonctionnement d’une entreprise. La sécurisation est une chose mais faut il encore donner la possibilité aux employés d’une entreprise d’avoir les moyens d’effectuer leur travail de façon correcte. Cette démarche s’accompagne en général d’une réflexion sur la façon dont est mis en place le réseau. Ensuite, nous pouvons utiliser des scanners de vulnérabilité afin de mettre en évidence les failles existantes.

Une autre limite des scanners en général est liée à la validité de la détection qu’ils effectuent. En effet, le scanner peut détecter des failles de vulnérabilités qui n’en sont pas.

Elles sont appelées des faux positifs. La première étape qui suit un audit de vulnérabilité est l’élimination de ces faux positifs qui peuvent faire perdre beaucoup de temps pour rien.

D’autre part, les scanners ne détectent pas toutes les failles. En particulier, ils ne simulent pas toutes les nouvelles failles. Les nouvelles menaces ne sont pas prises en compte de façon immédiate. Leurs identifications et la mise au point des tests afin de les détecter nécessitent un certain temps pendant lequel des attaquants peuvent les exploiter.

(31)

5. Nessus par rapport aux autres scanners

5.1 Protocole des tests

Pour mieux situer l’offre de Nessus par rapport aux autres produits disponibles sur le marché, un certain nombre de tests simples ont été menés avec d’autres systèmes de détection de vulnérabilité. Ces logiciels ne sont autre que Saint, un logiciel commercial fonctionnant sur les plates-formes de type UNIX, et Internet Scanner, disponible sur les systèmes de type Windows NT / 2000. A la fin de ces tests, nous nous sommes enfin intéressés à NeWT, la version Windows de Nessus .

Test 4 : Audit de vulnérabilité en utilisant Saint

Nous allons effectuer des Tests de vulnérabilité à l’aide de Saint, dans un premier temps sans attaques dangereuses (Etape A) puis avec des attaques dangereuses de type DoS ( Etape B).

Test 5 : Audit de vulnérabilité en utilisant Internet Scanner

Nous allons effectuer des Tests vulnérabilité à l’aide d’Internet Scanner, dans un premier temps sans attaques dangereuses (Etape A) puis avec des attaques dangereuses de type DoS (Etape B).

Test 6 : Audit de vulnérabilité en utilisant NeWT

Nous allons effectuer des Tests vulnérabilité à l’aide de la version Windows de Nessus NeWT, dans un premier temps sans attaques dangereuses (Etape A) puis avec des attaques dangereuses de type DoS (Etape B).

5.2 Déploiement

5.2.1 Topologie

Le réseau utilisé est le même que celui qui a permis d’effectuer les tests correspondant à Nessus. Les différents scanners ont été installés comme indiqué dans le tableau suivant :

Ordinateur Poste N1-Linux Poste N2-98 Poste N3-2000

Adresse IP 168.192.1.2 168.192.1.3 168.192.1.4

OS Fedora core 1B Windows 98 SE Windows 2000

serveur Scanner de

vulnérabilité

Nessus 2.10.a. et Saint 5.3.2

Internet Scanner 7.0 NeWT 1.5

Sniffer Ethereal 0.10.3

(32)

5.2.2 Paramétrage

Test 4 : Audit de vulnérabilité en utilisant Saint

Dans ce test, Saint a été utilisé pour mener des tests sur les postes N2-98 et N3-2000.

Cette version de Saint est une version d’évaluation du produit, elle n’autorise à faire des tests de vulnérabilité que sur deux IP distinctes que nous indiquons avant d’effectuer le téléchargement sur le site du fabricant. Nous allons effectuer ce test en deux étapes :

A. Audit avec Saint sans attaques dangereuses B. Audit avec Saint avec attaques dangereuses (DoS)

Test 5 : Audit de vulnérabilité en utilisant Internet Scanner

Les tests de vulnérabilités à l’aide d’Internet Scanner ont été effectués sur le poste N3-2000. Cette version ne permet de faire un audit de vulnérabilité que sur le poste sur lequel elle est installée (mode loopback).

A. Audit avec Internet Scanner sans attaques dangereuses B. Audit avec Internet Scanner avec attaques dangereuses (DoS) Test 6 : Audit de vulnérabilité en utilisant NewT

Cette version Windows de Nessus a été installée sur le poste N3-2000 sur lequel ont été menés les tests de vulnérabilité.

A. Audit avec NewT sans attaques dangereuses B. Audit avec NewT avec attaques dangereuses (DoS)

5.3 Exploitation

5.3.1 Résultats

Test 4 : Audit de vulnérabilité en utilisant Saint

A. Audit avec Saint sans attaques dangereuses Ordinateur cible : Poste N2-98 / Poste N3-2000 Durée du test : 3 minutes

Saint utilise un système de couleur pour identifier les différents type de vulnérabilité.

Ö Le rouge désigne les vulnérabilités de type Critical qui permettent d’obtenir des droits en lecture/écriture, d’exécuter des commandes sur la cible ou des attaques de type DoS.

Ö Le jaune correspond aux vulnérabilités de Area of concern qui correspondent à l’élévation de privilèges et à l’obtention d’informations correspondantes aux différents postes.

Ö Le marron est utilisé pour les vulnérabilités de type Potential qui demandent plus d’investigations.

Ö Enfin, le vert correspond au nombre de services. C’est un comptage qui n’implique pas que le service soit vulnérable ou non.

Références

Documents relatifs

3) Déterminer les diviseurs communs à n et 220925... Lorsque vous effectuez des calculs qui permettent de répondre aux questions, donnez les commandes Maple correspondantes.

2) Afficher les valeurs approchées des 10 premières valeurs de la suite. Lorsque vous effectuez des calculs qui permettent de répondre aux questions, donnez les commandes

Sciences sociales 4F Travail n°2 Marie Noez 2 Pour le prochain travail, je vous demande de présenter le réseau social (que vous aviez choisi lors du premier travail) via une

L'option -a affiche tous les fichiers, -F fait suivre le nom des répertoires d'un slash et -l affiche en format long : sont alors listés les droits d'accès, compteur de références,

Nous nous intéresserons donc aux différents phénomènes qui permettent cette vision. En premier lieu, nous démontrerons qu’il est possible de la voir

Il convient de ne pas confondre la commande cat, avec la commande echo message, qui ache directement le message sur une ligne sans lire de lignes de texte au clavier.. cat

Des  logiciels  de  comparaison  explorent  les  bases  de  données  (séquences,  structures)  de  gènes  et  de  protéines  déjà  identifiés  et  annotés 

Les classes préparatoires littéraires A/L sont conçues pour permettre aux étudiants de se présenter à la fin de la 2e année (khâgne) au concours des Écoles