Sécurite Informatique0
Sécurite Informatique0
Introduction générale
De nos jours, toutes les entreprises possédant un réseau local possèdent aussi un accès à
Internet, afin d'accéder à la manne d'information disponible sur le réseau des réseaux, et de
pouvoir communiquer avec l'extérieur. Cette ouverture vers l'extérieur est indispensable... et
dangereuse en même temps. Ouvrir l'entreprise vers le monde signifie aussi laisser place
ouverte aux étrangers pour essayer de pénétrer le réseau local de l'entreprise, et y accomplir
des actions douteuses, parfois gratuites, de destruction, vol d'informations confidentielles, ...
Les mobiles sont nombreux et dangereux.
Pour parer à ces attaques, une architecture sécurisée est nécessaire. Pour cela, le coeur d'une
tel architecture est basé sur un firewall. Cet outil a pour but de sécuriser au maximum le
réseau local de l'entreprise, de détecter les tentatives d'intrusion et d'y parer au mieux possible.
Cela représente une sécurité supplémentaire rendant le réseau ouvert sur Internet beaucoup
plus sûr. De plus, il peut permettre de restreindre l'accès interne vers l'extérieur.
2 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
2. Historique ................................................................................................................ 7
3 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
1. Scénarios d'attaques (Pénétrations de
réseaux) .............................................................. 20 i) Premier cas : Pas de
protection ......................................................................................... 20 ii) Deuxième cas :
Filtrer les flux entrants illégaux ................................................................ 20 iii) Troisième
cas : Bloquer les flux entrants et sortants .......................................................... 21 iv)
Quatrième cas : Protection locale via un pare-feu personnel ..............................................
21 v) Cinquième cas : piratage de
VPN ...................................................................................... 22
2. Les techniques et outils de découvertes de pare-
feu ....................................................... 23 i)
Firewalk ........................................................................................................................... 23
ii) Nmap ...............................................................................................................................
24 iii)
HPING ............................................................................................................................. 24
iv) NESSUS ..........................................................................................................................
24
3. Les réactions des pare-feu aux attaques
classiques ........................................................ 25 i) IP
spoofing ....................................................................................................................... 25 ii)
DOS et DDOS ..................................................................................................................
25 iii) Port
scanning .................................................................................................................... 25
iv) Exploit..................................................................................................................................25
Chapitre 3 : NMAP
I) Description ..................................................................................................................... 32
4 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
1. Découverte de réseaux
2. port Scanning
3. Détection de services
4. Détection d’OS
5. Scripting
6. Audit de sécurité
7. Interface en ligne de commande
8. Interface graphique
II) Fonctionnement .............................................................................................................. 32
1. Sélection de la cible
2. Choix des option de cas
3. Lancement du scan
4. Analyse des réponses
5. Génération de rapports
6. Interpretation des résultats
III) Installation..................................................................................................................... 32
IV) Interface graphique .......................................................................................................32
1. Profil de scan
2. saisie des cibles
3. options de scan personnalisé
4. lancement du scan
5. Visualisation des résultats
6. Exportation de rapports
7. interface utiliseur conviviale
V) Options disponibles ....................................................................................................... 33
1) Spécification des cibles ................................................................................................ 33
2) Découverte des hôtes .................................................................................................... 34
3) Techniques de scan de ports ......................................................................................... 38
4) Spécifications des ports et ordre du scan ....................................................................... 40
VI) Exemples d’utilisation de nmap : .................................................................................... 41
VII) Conclusion : ................................................................................................................... 42
Chapitre 4 : HPING
I. Déscription ............................................................................................................. 44
II. Fonctionnement ...................................................................................................... 44
5 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
III. Les commandes principales ..................................................................................... 44
1. Commande de base ....................................................................................................... 44
2. Commandes de protocole .............................................................................................. 46
3. Commandes du protocole IP ......................................................................................... 46
4. Commandes des protocoles TCP/UDP .......................................................................... 47
5. Commandes permettant de faire de l'échange de fichier ................................................. 47
V) Exemple d’utilisation de Hping ................................................................................ 48
VI) Conclusion........................................................................................................................50
Chapitre 5 : NESSUS
I. Présentation ............................................................................................................ 52
1. Avantages ..................................................................................................................... 52
2. Inconvénients ............................................................................................................... 53
II. Installation et utilisation .......................................................................................... 53
1. Installation .................................................................................................................... 53
1. Utilisation ..................................................................................................................... 54
Conclusion ............................................................................................................................................59
Bibliographie .....................................................................................................................................60
6 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
1. Introduction
Avec le développement de l'utilisation d'internet, de plus en plus d'entreprises ouvrent leur
système d'information à leurs partenaires ou leurs fournisseurs, il est donc essentiel de
connaître les ressources de l'entreprise à protéger et de maîtriser le contrôle d'accès et les
droits des utilisateurs du système d'information. Il en va de même lors de l'ouverture de l'accès
de l'entreprise sur internet.
Par ailleurs, avec le nomadisme, consistant à permettre aux personnels de se connecter au
système d'information à partir de n'importe quel endroit, les personnels sont amenés à «
transporter » une partie du système d'information hors de l'infrastructure sécurisé de
l'entreprise.
2. Historique
Certaines histoires d'intrusions sont bien connues, elles ont été relayées par les médias, et font
aujourd'hui partie de la légende du piratage informatique. Quelques faits :
• En 1986, de nombreux ordinateurs du gouvernement U.S. ont été infiltrés par des
pirates Ouest Allemands enrôlés par le KGB. Chris Stoll, l'administrateur système qui
découvrit les faits, en a tiré un livre devenu désormais un classique: The Coockoo's
Egg ( L’œuf de coucou).
7 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
• En 1988, l'Internet Worm (ver ), un programme qui s'auto- reproduisait, contamina le
système informatique académique de tout le pays.
• En 1995, Kevin Mitnick, 31 ans, a été arrêté après une longue carrière de délinquant
informatique, comprenant le vol de 20.000 numéros de cartes de crédits, en pénétrant
des ordinateurs de Pacific Bell, Digital Equipment Corporation et en détournant pour
environ 1 million de dollars d'informations volées.
Cependant, aussi inquiétantes que puissent être ces histoires, elles ne représentent qu'une
infime partie du problème. Accompagnant la croissance du nombre de machines
interconnectées dans Internet et la conscience dans le grand public du développement des
"Autoroutes de l'Information", le nombre d'intrusions explose littéralement. La nécessité d’une
protection efficace s’est donc naturellement imposée.
8 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
• IP spoofing : changer son adresse IP et passer pour quelqu’un de confiance.
• Injecter du code dans la cible comme des virus ou un cheval de Troie.
• Exploitation des faiblesses des systèmes d’exploitation, des protocoles ou des
applications.
• L'intégrité, c'est-à-dire garantir que les données sont bien celles que l'on croit être ;
• La confidentialité, consistant à assurer que seules les personnes autorisées aient accès
aux ressources échangées ;
• La disponibilité, permettant de maintenir le bon fonctionnement du système
d'information ;
• La non répudiation, permettant de garantir qu'une transaction ne peut être niée ;
• L'authentification, consistant à assurer que seules les personnes autorisées aient accès
aux ressources.
9 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
• La sécurité physique, soit la sécurité au niveau des infrastructures matérielles :
salles sécurisées, lieux ouverts au public, espaces communs de l'entreprise, postes de
travail des personnels, etc.
9. Pourquoi un firewall
De nos jours, toutes les entreprises possédant un réseau local possèdent aussi un accès à
Internet, afin d'accéder à la manne d'information disponible sur le réseau des réseaux, et de
pouvoir communiquer avec l'extérieur. Cette ouverture vers l'extérieur est indispensable... et
dangereuse en même temps. Ouvrir l'entreprise vers le monde signifie aussi laisser place
ouverte aux étrangers pour essayer de pénétrer le réseau local de l'entreprise, et y accomplir
des actions douteuses, parfois gratuites, de destruction, vol d'informations confidentielles, ...
Les mobiles sont nombreux et dangereux.
Pour parer à ces attaques, une architecture sécurisée est nécessaire. Pour cela, le coeur d'une
tel architecture est basé sur un firewall. Cet outil a pour but de sécuriser au maximum le
réseau local de l'entreprise, de détecter les tentatives d'intrusion et d'y parer au mieux possible.
Cela représente une sécurité supplémentaire rendant le réseau ouvert sur Internet beaucoup
plus sûr. De plus, il peut permettre de restreindre l'accès interne vers l'extérieur. En effet, des
employés peuvent s'adonner à des activités que l'entreprise ne cautionne pas, le meilleur
exemple étant le jeu en ligne. En plaçant un firewall limitant ou interdisant l'accès à ces
services, l'entreprise peut donc avoir un contrôle sur les activités se déroulant dans son
enceinte.
Le firewall propose donc un véritable contrôle sur le trafic réseau de l'entreprise. Il permet
d'analyser, de sécuriser et de gérer le trafic réseau, et ainsi d'utiliser le réseau de la façon pour
laquelle il a été prévu et sans l'encombrer avec des activités inutiles, et d'empêcher une
personne sans autorisation d'accéder à ce réseau de donnée.
10 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
10. Introduction
La technologie des pare-feux est apparue dans les années 80 pour palier à un nouveau
problème de sécurité lié à l’émergence de l’Internet. En 1988, un employé de NASA Armes
Research Center en Californie a envoyé un mémo par courrier électronique à son collègue qui a
pu lire « Nous sommes actuellement attaqué par un virus Internet appelé Morris Worm ». Ce
virus était la première attaque à grande échelle sur Internet. La communauté d’Internet a
collaboré à la recherche de nouveaux moyens de protection contre ces nouvelles menaces. A
la suite de cela nous avons pu voire apparaître de nouveaux produits de protection contre ces
attaques comme les anti-virus et les pare-feux.
Peu importe le domaine dans lequel on parle de pare-feu, la définition nous ramène
toujours à quelque chose bloquant ou empêchant autre chose de pénétrer librement quelque
part.
11 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Un pare-feu est un système ou un groupe de système qui gère les contrôles d’accès
entre deux réseaux. Plusieurs méthodes sont utilisées à l’heure actuelle. Deux mécanismes
sont utilisés : le premier consiste à interdire le trafic, et le deuxième à l’autoriser.
Certains pare-feux mettent beaucoup d’énergie à empêcher quiconque de passer alors d’autres
tendent à tout laisser passer. La chose la plus importante à comprendre est qu’il représente une
politique de contrôle d’accès.
Vous devez avoir une idée précise de cette politique dans son ensemble pour savoir ce que
vous devez autoriser ou interdire.
Fig2. Pare-feu entre l’internet et 1 pc. Fig3. Pare-feu entre l’internet et un réseau de pc.
12 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Généralement, les pare-feux sont configurés pour protéger contre les accès non authentifié du
réseau externe. Ceci, plus qu’autre chose, empêche les vandales de se logger sur des machines
de votre réseau interne, mais autorise les utilisateurs de communiquer librement avec
l’extérieur.
Les pare-feux sont également intéressants dans le sens où ils constituent un point
unique où l’audit et la sécurité peuvent être imposés. Tous les échanges passeront par lui. Il
pourra donner des résumés de trafic, des statistiques sur ce trafic, ou encore toutes les
connexions entre les deux réseaux.
Un pare-feu ne protège pas des attaques qui ne passent pas par lui… Certaines
entreprises achètent des pare-feux à des prix incroyables alors que certains de leurs employés
sont parfois connectés par modem au monde extérieur.
Il est important de noter qu’un pare-feu doit être à la mesure de la politique de sécurité globale
du réseau. Il ne sert à rien de mettre une porte blindée sur une maison en bois… Par exemple,
un site contenant des documents isolé du reste du réseau !
Une autre chose contre laquelle un pare-feu ne peut vous protéger est les traitres et les idiots
qui sont à l’intérieur de l’entreprise… Si un espion industriel décide de faire sortir des
données, il y arrivera, surtout sur disquette… Il vaut mieux vérifier qui a accès aux
informations que de mettre un pare-feu dans ce cas !
13 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Il faut prendre des mesures globales et importantes contre les virus. Avant de traquer les virus
à l’entrée du réseau, il faut s’assurer que chaque poste de travail dispose d’un anti-virus. Les
virus passent également très facilement par disquette… Les virus sur Internet son bien moins
important que les virus sur disquette.
Quoiqu’il en soit, de plus en plus de vendeurs de pare-feux vous offrent des pare-feux qui
détectent les virus. Ils permettent probablement d’arrêter les virus simples. Ne comptez pas
sur leur protection !
Il y a un certain nombre de règles qui doivent être prise par le chanceux qui a reçu la
responsabilité de configurer et de gérer le pare-feu.
Le plus important est de refléter la politique de sécurité choisit par l’organisation. Entre tout
interdire et tout autoriser, il y a différent degrés de paranoïa. Le choix final doit être le résultat
d’une politique globale de sécurité plus que d’une décision d’un ingénieur…
La deuxième est de savoir le degré de contrôle que vous voulez. Après avoir analysés les
risques, il faut définir ce qui doit être autorisé et interdit.
Le troisième point est financier : c’est de savoir le budget que vous allouez au pare-feu. Un
pare-feu complet peut être gratuit, ou coûter 100 000 dollars. La solution gratuite, comme la
configuration d’un routeur, ne coûte rien sinon beaucoup de temps et de café. D’autres
solutions coûteront cher au départ et peu ensuite… Il est important de considérer le prix de
départ, mais aussi celui du support.
Un pare-feu coûte cher et prend beaucoup de temps à administrer… Vérifiez que vous avez
des bijoux avant d’acheter un coffre-fort hi-teck !
i) Le principe
C'est la méthode de filtrage la plus simple, elle opère au niveau de la couche réseau et
transport du modèle OSI. La plupart des routeurs d'aujourd'hui permettent d'effectuer du
filtrage simple de paquet. Cela consiste à accorder ou refuser le passage de paquet d'un réseau
à un autre en se basant sur :
- L'adresse IP Source/Destination.
- Le numéro de port Source/Destination.
- Et bien sur le protocole de niveaux 3 ou 4.
Cela nécessite de configurer le pare-feu ou le routeur par des règles de filtrages, généralement
appelées des ACL (Access Control Lists).
14 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
ii) Les limite
Le premier problème vient du fait que l'administrateur réseau est rapidement contraint
à autoriser un trop grand nombre d'accès, pour que le pare-feu offre une réelle protection. Par
exemple, pour autoriser les connexions à Internet à partir du réseau privé, l'administrateur
devra accepter toutes les connexions Tcp provenant de l'Internet avec un port supérieur à
1024. Ce qui laisse beaucoup de choix à un éventuel pirate.
Il est à noter que de définir des ACL sur des routeurs haut de gamme - c'est à dire,
supportant un débit important - n'est pas sans répercussion sur le débit lui-même. Enfin, ce
type de filtrage ne résiste pas à certaines attaques de type IP Spoofing / IP Flooding, la
mutilation de paquet, ou encore certaines attaques de type DoS. Ceci est vrai sauf dans le
cadre des routeurs fonctionnant en mode distribué. Ceci permettant de gérer les Acl
directement sur les interfaces sans remonter à la carte de traitement central. Les performances
impactées par les Acl sont alors quasi nulles.
i) Le Principe
15 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Pour le protocole Ftp (et les protocoles fonctionnant de la même façon), c'est plus délicat
puisqu'il va falloir gérer l'état de deux connexions. En effet, le protocole Ftp, gère un canal de
contrôle établi par le client, et un canal de données établi par le serveur. Le pare-feu devra
donc laisser passer le flux de données établi par le serveur. Ce qui implique que le pare-feu
connaisse le protocole Ftp, et tous les protocoles fonctionnant sur le même principe. Cette
technique est connue sous le nom de filtrage dynamique (Stateful Inspection) et a été inventée
par Checkpoint. Mais cette technique est maintenant gérée par d'autres fabricants.
i) Le principe
Le filtrage applicatif est comme son nom l'indique réalisé au niveau de la couche
Application. Pour cela, il faut bien sûr pouvoir extraire les données du protocole de niveau 7
pour les étudier. Les requêtes sont traitées par des processus dédiés, par exemple une requête
de type Http sera filtrée par un processus proxy Http. Le pare-feu rejettera toutes les requêtes
qui ne sont pas conformes aux spécifications du protocole. Cela implique que le pare-feu
proxy connaisse toutes les règles protocolaires des protocoles qu'il doit filtrer.
16 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
protocole filtré pose des problèmes d'adaptabilité à de nouveaux protocoles ou des protocoles
maisons.
Mais il est indéniable que le filtrage applicatif apporte plus de sécurité que le filtrage de
paquet avec état, mais cela se paie en performance. Ce qui exclut l'utilisation d'une
technologie 100 % proxy pour les réseaux à gros trafic au jour d'aujourd'hui. Néanmoins d'ici
quelques années, le problème technologique sera sans doute résolu.
4. Que choisir
Tout d'abord, il faut nuancer la supériorité du filtrage applicatif par rapport à la
technologie Stateful. En effet les proxys doivent être paramétrés suffisamment finement pour
limiter le champ d'action des attaquants, ce qui nécessite un très bonne connaissance des
protocoles autorisés à traverser le pare-feu. Ensuite un proxy est plus susceptible de présenter
une faille de sécurité permettant à un pirate d'en prendre le contrôle, et de lui donner un accès
sans restriction à tout le système d'information.
Idéalement, il faut protéger le proxy par un pare-feu de type Stateful Inspection. Il vaut
mieux éviter d'installer les deux types de filtrage sur le même pare-feu, car la compromission
de l'un entraîne la compromission de l'autre. Enfin cette technique permet également de se
protéger contre l'ARP spoofing.
17 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
destination. Donc, la seule façon de le contourner est de passer outre ses règles de drop. Toute
attaque devra donc « faire » avec ses règles, et essayer de les contourner.
Dans la plupart des cas, ces derniers ont une interface de configuration séparée. Un
câble vient se brancher sur une troisième interface, série ou même Ethernet, et qui ne doit être
utilisée que ponctuellement et dans un environnement sécurisé de préférence.
i) Avantages
- Impossible de l'éviter (les paquets passeront par ses interfaces)
- Peu coûteux
ii) Inconvénients
- Possibilité de le contourner (il suffit de passer outre ses règles)
- Configuration souvent contraignante
- Les fonctionnalités présentes sont très basiques (filtrage sur adresse IP, port, le plus souvent
en Stateless).
2. Les pare-feux matériels
Ils se trouvent souvent sur des routeurs achetés dans le commerce par de grands
constructeurs comme Cisco ou Nortel. Intégrés directement dans la machine, ils font office de
« boite noire », et ont une intégration parfaite avec le matériel. Leur configuration est souvent
relativement ardue, mais leur avantage est que leur interaction avec les autres fonctionnalités
du routeur est simplifiée de par leur présence sur le même équipement réseau. Souvent
relativement peu flexibles en terme de configuration, ils sont aussi peu vulnérables aux
attaques, car présent dans la « boite noire » qu'est le routeur. De plus, étant souvent très liés au
matériel, l'accès à leur code est assez difficile, et le constructeur a eu toute latitude pour
produire des système de codes « signés » afin d'authentifier le logiciel (système RSA ou
assimilés). Ce système n'est implanté que dans les pare-feux haut de gamme, car cela évite un
remplacement du logiciel par un autre non produit par le fabricant, ou toute modification de ce
dernier, rendant ainsi le pare-feu très sûr. Son administration est souvent plus aisée que les
pare-feu bridges, les grandes marques de routeurs utilisant cet argument comme argument de
vente. Leur niveau de sécurité est de plus très bon, sauf découverte de faille éventuelle comme
tout pare-feu. Néanmoins, il faut savoir que l'on est totalement dépendant du constructeur du
matériel pour cette mise à jour, ce qui peut être, dans certains cas, assez contraignant. Enfin,
seules les spécificités prévues par le constructeur du matériel sont implémentées. Cette
dépendance induit que si une possibilité nous intéresse sur un pare-feu d'une autre marque, son
utilisation est impossible. Il faut donc bien déterminer à l'avance ses besoin et choisir le
constructeur du routeur avec soin.
18 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
i) Avantages
- Intégré au matériel réseau.
- Administration relativement simple.
- Bon niveau de sécurité.
ii) Inconvénients
- Dépendant du constructeur pour les mises à jour.
- Souvent peu flexibles.
i) Avantages
- Sécurité en bout de chaîne (le poste client)
19 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
- Personnalisable assez facilement
ii) Inconvénients
- Facilement contournable
i) Avantages
- Personnalisables
ii) Inconvénients
Nécessite une administration système supplémentaire Ces pare-feux logiciels ont
néanmoins une grande faille : ils n'utilisent pas la couche bas réseau. Il suffit donc de passer
outre le noyau en ce qui concerne la récupération de ces paquets, en utilisant une librairie
spéciale, pour récupérer les paquets qui auraient été normalement « droppés » par le pare-feu.
Néanmoins, cette faille induit de s'introduire sur l'ordinateur en question pour y faire des
modifications... chose qui induit déjà une intrusion dans le réseau, ou une prise de contrôle
physique de l'ordinateur, ce qui est déjà Synonyme d'inefficacité de la part du pare-feu.
20 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Qu'est-ce qu'une backdoor ? Une backdoor est un accès (« caché ») sur votre système
qui permet à un pirate d'en prendre le contrôle à distance. Il existe une multitude de sortes de
backdoor, et en général dans ce domaine, l'imagination des pirates rivalise avec l'incrédulité
des utilisateurs. Voici quelques scénarios d'attaques plus ou moins classique.
21 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Dans le cas d'un proxy avec authentification, le pirate fera preuve de grande imagination en
réalisant un trojan capable de profiter des applications (comme IE par exemple) qui une fois
qu'elles se sont authentifiées sont utilisées pour passer le proxy.
22 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Les rootkit noyaux sont beaucoup plus difficiles à détecter, puisqu'ils modifient le
noyau et donc modifient son comportement. Par exemple rendre invisible un processus à
chaque appel (non pas de la commande ps) mais des fonctions systèmes du noyau, qui elles
même sont appelées par la commande ps. Evidemment un rootkit noyau modifie en plus les
routines de journalisassions du système, masque les connexions réseaux, ... Pour se protéger
des rootkit noyaux, le plus simple est de s'en prémunir. Pour cela, l'idéal est de patcher son
noyau pour empêcher l'installation d'un rootkit, et de désactiver les LKM (Loadable Kernel
Modules qui permettent au root d'introduire un nouveau code dans le système d'exploitation
pendant que ce dernier est en cours d'exécution), malheureusement cela ne suffit pas toujours
(voir kinsmod.c). Il existe un outil pour Linux capable d'un certain nombre de vérification de
modules de backdoor. Cet outil s'appelle rkscan et permet de détecter les versions de rootkits
les plus populaires.
23 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Dans un premier temps il convient de localiser le ou les pare-feux. La localisation du
pare-feu ne pose pas de gros problèmes, un simple traceroute (ou [Link]) suffira, bien que
dans certains cas netcat apporte de meilleurs résultats.
Exemple :
C:> nc -v -n [Link] 25
(UNKNOWN) [[Link]] 25 (?) open
421 [Link] Sorry, the firewall does not provide mail service to you.
Ensuite l'attaquant cherchera à identifier le pare-feu, soit en espérant exploiter une faille même
du pare-feu, soit il cherchera à identifier les règles du pare-feu afin d'y détecter une faille dans
le filtrage de paquet. Pour identifier les règles d'un pare-feu, il faut utiliser un scanner de port.
Il existe de nombreux scanner de ports, les plus connus sont Firewalk, Nmap et Hping2 :
i) Firewalk
Le Firewalking est une technique qui permet de déterminer les règles de filtrages de
niveau 4 (Transport) sur les équipements (routeurs, pare-feu, passerelles) qui acheminent des
paquets de niveau 3 (Réseau).
Le principe de cette technique repose sur le champ Ttl (Time To Live) des en-têtes IP
des paquets. C'est à dire le nombre d'équipement (routeur) que peut traverser le paquet. Le
logiciel traceroute utilise aussi la technique du Ttl. Lorsque l'on envoie un paquet Udp avec un
Ttl de 1, le premier routeur recevant le paquet émettra un paquet Icmp Ttl-exceeded. Et l'on
répète le procédé en augmentant le Ttl de 1 à chaque fois. En fait ce procédé peut être réalisé
avec d'autres protocoles de niveau 4 comme Tcp ou de niveau 3 comme Icmp.
Firewalk fonctionne en construisant des paquets avec un IP Ttl calculé de façon à expirer sur
un segment situé après le pare-feu. En fait si le paquet est autorisé par le pare-feu, il pourra le
passer et expirera comme prévu en envoyant un message "Icmp Ttl expired in transit". A
l'inverse, si le paquet est bloqué par l'ACL du pare-feu, il sera abandonné et aucune réponse ne
sera envoyée ou bien un paquet de filtre admin Icmp de type 13 sera envoyé.
Il est possible de bloquer les paquets Icmp Ttl EXPIRED au niveau de l'interface externe,
mais le problème est que ses performances risquent d'en prendre un sérieux coup car des
clients se connectant légitimement ne sauront jamais ce qui est arrivé à leur connexion.
ii) Nmap
Nmap (Network Mapper) est certainement le scanner de port le plus célèbre disponible
sous linux, Windows et même MAC. En règle générale, Nmap vérifie que l'hôte à scanner est
connecté au réseau. Il réalise pour cela à la fois un Tcp ping sur le port 80 et un ping Icmp
normal. Ce comportement peut être détecté par un IDS (Inspection Detection System) et pour
cela on peut changer le comportement de Nmap.
24 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
iii) HPING
HPING est différent de Nmap d'abord parce qu'il est beaucoup plus configurable. On
peut facilement modifier n'importe quel octet de l'entête TcpIP. Cela permet d'être réellement
créatif au niveau des techniques de balayage à des fins de reconnaissance. On peut bien sûr
insérer des données malveillantes dans les paquets (buffer overflow, trojan, ...) et les utiliser
pour pénétrer des réseaux.
HPING2 permet de :
4- De faire du firewalk.
iv) NESSUS
Nessus a été écrit par Renaud Deraison (depuis début 1998), un grand maître de Linux
et de la sécurité. Nessus est devenu le Linux de l'évaluation de la vulnérabilité, il surpasse
certains de ses concurrents commerciaux. Nessus emploie un modèle de plug-in extensible qui
permet à la sécurité d'ajouter à la demande des modules d'exploration. Nessus utilise un
langage de script NASL (Nessus Attack Script Language) pour écrire des tests de sécurité
rapidement et facilement. Nessus est basé sur une architecture client-Serveur, le serveur
réalise les attaques et tourne sur un système UNIX; les clients initialisent les attaques et
existent sur différentes plates-formes X11, Win32 et un client Java. Le fait d'être open source
et d'utiliser des plug-in permet à Nessus d'être mis à jour régulièrement au niveau de sa base
de données d'attaques et d'être à la pointe de la technologie. Nessus compte à l'heure actuel
plus de 500 contrôles de vulnérabilités, dont certains ne sont pas disponibles dans les scanners
commerciaux.
3. Les réactions des pare-feu aux attaques classiques
i) IP spoofing
L'IP spoofing consiste à modifier les paquets IP afin de faire croire au pare-feu qu'ils
proviennent d'une adresse IP considérée comme « de confiance ». Par exemple, une IP
présente dans le réseau local de l'entreprise. Cela laissera donc toute latitude au hacker de
passer outre les règles du pare-feu afin d'envoyer ses propres paquets dans le réseau de
l'entreprise. Les derniers pare-feux peuvent offrir une protection contre ce type d'attaque,
notamment en utilisant un protocole VPN, par exemple IPSec. Cela va crypter les entêtes des
paquets, et ainsi rendre impossible leur modification par un intrus, et surtout, l'intrus ne pourra
25 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
générer de paquets comme provenant de ce réseau local, ce dernier n'ayant pas la clé
nécessaire au cryptage. Les algorithmes utilisés dans de tels protocoles sont de type RSA.
iv) Exploit
Les exploits se font en exploitant les vulnérabilités des logiciels installés, par exemple
un serveur Http, Ftp, etc. Le problème est que ce type d'attaque est très souvent considéré
comme des requêtes tout a fait « valides » et que chaque attaque est différente d'une autre, vu
que le bug passe souvent par reproduction de requêtes valides non prévues par le
programmeur du logiciel. Autrement dit, il est quasiment impossible au pare-feu d'intercepter
ces attaques, qui sont considérées comme des requêtes normales au système, mais exploitant
un bug du serveur le plus souvent. La seule solution est la mise à jour périodique des logiciels
utilisés afin de barrer cette voie d'accès au fur et à mesure qu'elles sont découvertes.
IX. Configuration d’un firewall sous Linux
1. Présentation générale
Un pare-feu (firewall) est une passerelle que l’on place sur un réseau pour sécuriser les
communications entrantes et sortantes. Il existe deux familles de pare-feu : les firewalls à
filtrage de paquets et les firewalls de type proxy. Ils ne travaillent pas de la même façon et
n'offrent pas les mêmes sécurités.
Selon la version du noyau Linux utilisée, plusieurs types de firewall filtrant existent :
26 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
jusqu'à la version 2.1.102, c’est ipfwadm qui est implémenté,
depuis la version 2.1.102, on utilise ipchains,
à partir du noyau 2.4, iptables/NetFilter est implémenté en plus.
NetFilter permet d’offrir une infrastructure dédiée au filtrage/manipulation de paquets, que les
utilisateurs et développeurs pourraient déployer comme un add-on construit autour du noyaux
Linux. Il a été conçu pour être modulaire et extensible. Iptables est un module qui s'insère
dans la structure de NetFilter et autorise l'utilisateur à accéder aux règles et commandes de
filtrage/manipulation du noyau.
Le but de cette partie est d’expliquer comment configurer un pare-feu avec les iptables sous
Linux.
2. Démarrage
Tout d’abord iptables est une commande que seul root peut lancer. Ensuite, vérifier la version
de votre noyau : > uname -a
Si la version du noyau est antérieure à 2.4, il faudra installer iptables (cf. installation) Pour
voir si la commande est présente :
> which iptables
Pour voir si le module est installé :
> lsmod | grep iptable
IpTables a besoin d'un kernel de génération 2.4 compilé avec des options spéciales. Ceci ne
pose pas de problèmes avec les noyaux 2.4 génériques des principales distributions basées sur
cette génération de kernel.
Le noyau
Si vous désirez re-compiler votre kernel (make dep; make clean; make bzImage), il faut
spécifier les options nécessaires au fonctionnement d'iptables comme CONFIG_PACKET,
CONFIG_NETFILTER, CONFIG_IP_NF_CONNTRACK, CONFIG_IP_NF_FTP,
CONFIG_IP_NF_IRC, CONFIG_IP_NF_IPTABLES, CONFIG_IP_NF_FILTER,
CONFIG_IP_NF_NAT, CONFIG_IP_NF_MATCH_STATE,
CONFIG_IP_NF_TARGET_LOG, CONFIG_IP_NF_MATCH_LIMIT,
CONFIG_IP_NF_TARGET_MASQUERADE
Il est nécessaire de charger ces modules à chaque boot puis de lancer les règles de
filtrage/masquage, avant de pouvoir utiliser iptables :
# modprobe ip_tables
Il faut faire un script qui sera lancé à chaque démarrage (à rajouter dans /etc/rc.d/init.d suivant
le système). Et selon les besoins, on peut éventuellement charger d’autres modules (cf.
modules)
4. Fonctionnement d’iptables
Le noyau contient par défaut trois tables : Filter, NAT et Mangle. Une table permet de définir
un comportement précis du firewall Linux.
• La table FILTER va contenir toutes les règles pour le filtrage des paquets.
• La table NAT permet d'effectuer des translations d'adresses.
• La table MANGLE permet de marquer des paquets entrants (PREROUTING) et
générés localement (OUTPUT). Ce marquage va permettre de traiter spécifiquement
les paquets marqués dans les tables de routage.
Une table est un ensemble de chaînes, elles-mêmes composées de règles.
28 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Commandes principales
Ces options spécifient une action particulière à effectuer. Seule l'une d'elles peut être spécifiée
sur la ligne de commande, sauf indication contraire.
29 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
30 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
• Pour supprime toutes les trames rentrantes dans l'espace utilisateur, sauf HTTP
(avec
'!')
> iptables -I INPUT -p tcp -sport ! 80 -j DROP
Les modules permettent de rajouter des fonctionnalités à NetFilter. Prenons l’exemple pour
FTP. Charger le module :
> modprobe ip_conntrack_ftp
Ensuite, il faut vérifier que le trafic FTP est autorisé (cf. Pour accepter le trafic FTP). C’est
indispensable pour que la connexion puisse s'établir.
Ensuite c’est ici que ip_conntrack_ftp va servir :
> iptables -A INPUT -i eth0 -p tcp -sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT (
RELATED signifiant que le paquet initie une nouvelle connexion)
> iptables -A OUTPUT -o eth0 -p tcp -dport 20 -m state --state ESTABLISHED –j ACCEPT
Enfin pour que le serveur puisse établir la connexion pour les données (en mode actif) :
> iptables -A INPUT -i eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state
ESTABLISHED -j ACCEPT
> iptables -A OUTPUT -o eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state
ESTABLISHED,RELATED -j ACCEPT
(sport et deport signifie l’intervalle des ports acceptés. En effet, la connexion se fait sur le port
20/21 mais les transferts se font sur d’autres ports
De nombreuses autres règles de filtrages relativement fines peuvent être mise en place avec
iptables. Nous avons vu seulement la table FILTER. Les autres tables fonctionnent de la
même manière. Il y a certaines limitations de NetFilter : par exemple il n'intègre pas des
fonctionnalités de limitation de bande passante ou il n'intègre pas des fonctionnalités
d'introduction d'un pourcentage d'erreur dans les communications.
31 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
I) Description
Nmap (“Network Mapper”) est un scanner de ports open source. Il est conçu pour détecter les
ports ouverts, les services hébergés et les informations sur le système d’exploitation d’un
ordinateur distant. Ce logiciel est devenu une référence pour les administrateurs réseaux car
l’audit des résultats de nmap fournit des indications sur la sécurité d'un réseau.
Syntaxe :
II) Fonctionnement
32 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Pour scanner les ports d'un ordinateur distant, Nmap utilise diverses techniques d'analyse
basées sur des protocoles tels que TCP, IP, UDP ou ICMP.
De même, il se base sur les réponses particulières qu'il obtient à des requêtes particulières
pour obtenir une empreinte de la pile IP, souvent spécifique du système qui l'utilise. C'est par
cette méthode que l'outil permet de reconnaitre la version d'un système d'exploitation et aussi
la version des services en écoute.
III) Installation
NmapFE, écrite au départ par Zach Smith, était l'interface graphique officielle de Nmap pour
les versions 2.2 à 4.22. À partir de la version 4.23 de Nmap, NmapFE a été remplacé par
Zenmap, une nouvelle interface graphique basée sur UMIT et développée par Adriano
Monteiro Marques.
De nombreuses interfaces web sont également disponibles pour utiliser Nmap à partir d'un
navigateur web. On peut citer LOCALSCAN, nmap-web et Nmap- CGI.
Enfin, il existe des interfaces graphiques disponibles sous Microsoft Windows. On peut citer
NMapWin, qui n'est pas mis à jour depuis la version v1.4.0, et NMapW développé par Syhunt.
33 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
V) Options disponibles
Si vous désirez scanner un réseau entier d'hôtes consécutifs, Nmap supporte l'adressage du
style CIDR.
La notation CIDR est concise mais pas toujours des plus pratiques. Par exemple, vous
voudriez scanner [Link]/16 mais éviter toutes les adresses se terminant par .0 ou .255 car
se sont souvent des adresses de diffusion (broadcast). Nmap permet de le faire grâce à
l'adressage par intervalles. Plutôt que de spécifier une adresse IP normale, vous pouvez
spécifier pour chaque octet de l'IP une liste d'intervalles séparés par des virgules. Par exemple,
192.168.0-255.1-254 évitera toutes les adresses se terminant par .0 ou .255. Les intervalles ne
sont pas limités aux octets finals: 0-255.0-255.13.37 exécutera un scan de toutes les adresses
IP se terminant par 137.37. Ce genre de spécifications peut s'avérer utile pour des statistiques
sur Internet ou pour les chercheurs.
Même si les cibles sont souvent spécifiées dans les lignes de commandes, les options
suivantes sont également disponibles pour sélectionner des cibles :
-iL <inputfilename> (Lit la liste des hôtes/réseaux cibles depuis le fichier)
-iR <num hosts> (Choisit des cibles au hasard)
--exclude <host1[,host2][,host3],...> (Exclut des hôtes/des réseaux des cibles)
--excludefile <exclude_file> (Exclut des hôtes/des réseaux des cibles depuis le fichier)
Parce que les besoins de découverte des hôtes sont si différents, Nmap propose une grande
panoplie d'options pour individualiser les techniques utilisées. La découverte d'hôte est
34 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
souvent appelée « scan ping » (ping scan), mais celle-ci va bien au delà d'une simple requête
echo ICMP associée à l'incontournable outil ping. Les options suivantes contrôlent la
découverte des hôtes.
Cette forme dégénérée de découverte d'hôtes liste simplement chaque hôte du(des)
réseau(x) spécifié(s), sans envoyer aucun paquet aux cibles. Par défaut, Nmap utilise
toujours la résolution DNS inverse des hôtes pour connaître leurs noms.
Cette option indique à Nmap de n'effectuer que le scan ping (la découverte des hôtes),
puis d'afficher la liste des hôtes disponibles qui ont répondu au scan. Aucun autre test
(comme le scan des ports ou la détection d'OS) n'est effectué.
Cette option évite complètement l'étape de découverte des hôtes de Nmap. En temps
normal, Nmap utilise cette étape pour déterminer quelles sont les machines actives
pour effectuer un scan approfondi. Par défaut, Nmap n'examine en profondeur, avec le
scan des ports ou la détection de version, que les machines qui sont actives.
Cette option envoie un paquet TCP vide avec le drapeau (flag) SYN activé. La
destination par défaut de ce paquet est le port 80 (configurable à la compilation en
changeant la définition DEFAULT_TCP_PROBE_PORT dans nmap.h ), mais un
autre port peut être spécifié en paramètre (ex.: -PS22,23,25,80,113,1050,35000),
auquel cas les paquets de tests (probes) seront envoyés en parallèle sur chaque port
cible.
Le ping TCP ACK ressemble fortement aux tests SYN précédemment évoqués. À la
différence que, comme on l'imagine bien, le drapeau TCP ACK est utilisé à la place du
drapeau SYN. Un tel paquet ACK acquitte normalement la réception de données dans
une connexion TCP précédemment établie, or ici cette connexion n'existe pas. Ainsi,
l'hôte distant devrait systématiquement répondre par un paquet RST qui trahirait son
existence.
L'option -PA utilise le même port par défaut que le test SYN (80), mais peut aussi
prendre une liste de ports de destination dans le même format
Une autre option de découverte des hôtes est le ping UDP, qui envoie un paquet UDP
vide (à moins que l'option --data-length ne soit utilisée) aux ports spécifiés. La liste
des ports est écrite dans le même format que les options -PS et -PA précédemment
35 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
évoquées. Si aucun port n'est spécifié, le port par défaut est le 31338. Cette valeur par
défaut peut être modifiée à la compilation en changeant la définition
DEFAULT_UDP_PROBE_PORT dans le fichier nmap.h. Un numéro de port très peu
courant est utilisé par défaut, car envoyer des paquets sur un port ouvert n'est que peu
souhaitable pour ce type de scan particulier.
L'avantage principal de ce type de scan est qu'il permet de contourner les pare-feux et
dispositifs de filtrage qui n'observent que TCP.
En plus des inhabituels types de découverte des hôtes TCP et UDP précédemment
évoqués, Nmap peut également envoyer les paquets standard émis par l'éternel
programme ping.
Les requêtes timestamp et masque d'adresse peuvent être émises avec les options -PP
et -PM, respectivement.
Un des usages les plus courant de Nmap est de scanner un LAN Ethernet. Sur la
plupart des LANS, particulièrement ceux qui utilisent les plages d'adresses privées de
la RFC 1918, la grande majorité des adresses IP sont inutilisées à un instant donné.
Quand Nmap essaie d'envoyer un paquet IP brut (raw packet) comme une requête
ICMP echo, le système d'exploitation doit déterminer l'adresse matérielle (ARP)
correspondant à la cible IP pour correctement adresser la trame Ethernet. Ceci est
souvent lent et problématique, car les systèmes d'exploitation n'ont pas été écrits pour
gérer des millions de requêtes ARP contre des hôtes indisponibles en un court
intervalle de temps.
Les requêtes ARP sont prises en charge par Nmap qui dispose d'algorithmes optimisés
pour gérer le scan ARP. Si Nmap reçoit une réponse à ces requêtes, il n'a pas besoin de
poursuivre avec les ping basés sur IP car il sait déjà que l'hôte est actif. Ceci rend le
scan ARP bien plus rapide et fiable que les scans basés sur IP.
Une autre otpion de découverte d'hôtes est le Ping IPProto, qui envoie des paquets IP
avec les numéros de protocole(s) spécifiés dans le champ Protocol de l'en-tête IP. La
liste des protocoles prend le même format qu'avec la liste des ports dans les options de
découverte en TCP et UDP présentées précédement.
Montre les raisons pour lesquelles chaque port est désigné par un état spécifique et un
hôte connecté ou non. Cette option affiche le type de paquet qui à déterminé l'état du
port ou de l'hôte. Par exemple, un paquet RST en provenance d'un port fermé ou un
36 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
echo relpy pour un hôte connecté. L'information que Nmap peut fournir est déterminée
par le type de scan ou de ping. Le scan SYN et le ping SYN (-sS et -PT) sont très
détaillés, mais les TCP connect scan et ping (-sT) sont limités par l'implémentation de
l'appel système connect. Cette fonctionnalité est automatiquement activée par le mode
de deboguage (-d) et les résultats sont enregistrés dans la sortie XML même si cette
option n'est pas spécifiée.
Indique à Nmap de ne jamais faire la résolution DNS inverse des hôtes actifs qu'il a
trouvé. Comme la résolution DNS est souvent lente, ceci accélère les choses.
Indique à Nmap de toujours faire la résolution DNS inverse des adresses IP cibles.
Normalement, ceci n'est effectué que si une machine est considérée comme active.
Ces états ne font pas partie des propriétés intrinsèques des ports eux-mêmes, mais décrivent
comment Nmap les perçoit. Par exemple, un scan Nmap depuis le même réseau que la cible
pourrait voir le port 135/tcp comme ouvert alors qu'un scan au même instant avec les mêmes
options au travers d'Internet pourrait voir ce même port comme filtré.
(open)
Une application accepte des connexions TCP ou des paquets UDP sur ce port. Trouver
de tels ports est souvent le but principal du scan de ports. Les gens soucieux de la
sécurité savent pertinemment que chaque port ouvert est un boulevard pour une
attaque. Les attaquants et les pen-testers veulent exploiter ces ports ouverts, tandis que
les administrateurs essaient de les fermer ou de les protéger avec des pare-feux sans
gêner leurs utilisateurs légitimes.
fermé (closed)
Un port fermé est accessible (il reçoit et répond aux paquets émis par Nmap), mais il
n'y a pas d'application en écoute. Comme un port fermé est accessible, il peut être
intéressant de le scanner de nouveau plus tard au cas où il s'ouvrirait. Les
37 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
administrateurs pourraient désirer bloquer de tels ports avec un pare-feu, mais ils
apparaîtraient alors dans l'état filtré décrit dans la section suivante.
filtré (filtered)
Nmap ne peut pas toujours déterminer si un port est ouvert car les dispositifs de
filtrage des paquets empêchent les paquets de tests (probes) d'atteindre leur port cible.
Le dispositif de filtrage peut être un pare-feu dédié, des règles de routeurs filtrants ou
un pare-feu logiciel. Ces ports ennuient les attaquants car ils ne fournissent que très
peu d'informations. Quelques fois ils répondent avec un message d'erreur ICMP de
type 3 code 13 (« destination unreachable: communication administratively prohibited
»), mais les dispositifs de filtrage qui rejettent les paquets sans rien répondre sont bien
plus courants. Ceci oblige Nmap à essayer plusieurs fois au cas où ces paquets de tests
seraient rejetés à cause d'une surcharge du réseau et pas du filtrage.
non-filtré (unfiltered)
L'état non-filtré signifie qu'un port est accessible, mais que Nmap est incapable de
déterminer s'il est ouvert ou fermé. Seul le scan ACK, qui est utilisé pour déterminer
les règles des pare-feux, catégorise les ports dans cet état. Scanner des ports non-filtrés
avec un autre type de scan, comme le scan Windows, SYN ou FIN peut aider à savoir
si un port est ouvert ou pas.
ouvert|filtré (open|filtered)
Nmap met dans cet état les ports dont il est incapable de déterminer l'état entre ouvert
et filtré. Ceci arrive pour les types de scans où les ports ouverts ne renvoient pas de
réponse. L'absence de réponse peut aussi signifier qu'un dispositif de filtrage des
paquets a rejeté le test ou les réponses attendues. Ainsi, Nmap ne peut s'assurer ni que
le port est ouvert, ni qu'il est filtré. Les scans UDP, protocole IP, FIN, Null et Xmas
catégorisent les ports ainsi.
fermé|filtré (closed|filtered)
Cet état est utilisé quand Nmap est incapable de déterminer si un port est fermé ou
filtré. Cet état est seulement utilisé par le scan Idle basé sur les identifiants de paquets
IP.
Le scan SYN est celui par défaut et le plus populaire pour de bonnes raisons. Il peut
être exécuté rapidement et scanner des milliers de ports par seconde sur un réseau
rapide lorsqu'il n'est pas entravé par des pare-feux.
Cette technique est souvent appelée le scan demi-ouvert (half-open scanning), car il
n'établi pas pleinement la connexion TCP. Il envoie un paquet SYN et attend sa
réponse, comme s'il voulait vraiment ouvrir une connexion. Une réponse SYN/ACK
38 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
indique que le port est en écoute (ouvert), tandis qu'une RST (reset) indique le
contraire. Si aucune réponse n'est reçue après plusieurs essais, le port est considéré
comme étant filtré.
Le scan TCP connect() est le type de scan par défaut quand le SYN n'est pas utilisable.
Nmap demande au système d'exploitation qui l'exécute d'établir une connexion au port
de la machine cible grâce à l'appel système connect().
Si le scan SYN est disponible, il vaut mieux l'utiliser. Nmap a bien moins de contrôles
sur l'appel système haut niveau connect() que sur les paquets bruts, ce qui le rend
moins efficace. L'appel système complète les connexions ouvertes sur les ports cibles
au lieu de les annuler lorsque la connexion est à demie ouverte, comme le fait le scan
SYN.
Même si les services les plus connus d'Internet son basés sur le protocole TCP, les
services UDP sont aussi largement utilisés. DNS, SNMP ou DHCP (ports 53, 161/162
et 67/68) sont les trois exemples les plus courants. Comme le scan UDP est
généralement plus lent et plus difficile que TCP, certains auditeurs de sécurité les
ignorent. C'est une erreur, car les services UDP exploitables sont courants et les
attaquants eux ne les ignoreront pas. Par chance, Nmap peut aider à répertorier les
ports UDP.
Le scan UDP est activé avec l'option-sU. Il peut être combiné avec un scan TCP,
comme le scan SYN ( -sS), pour vérifier les deux protocoles lors de la même
exécution de Nmap.
Le scan UDP envoie un en-tête UDP (sans données) à chaque port visé. Si un message
ICMP « port unreachable (type 3, code 3) » est renvoyé, le port est alors fermé. Les
autres messages d'erreur « unreachable ICMP (type 3, codes 1, 2, 9, 10, or 13) »
rendront le port filtré. À l'occasion, il arrive qu'un service répond par un paquet UDP,
prouvant que le port est dans l'état ouvert. Si aucune réponse n'est renvoyée après
plusieurs essais, le port est considéré comme étant ouvert|filtré. Cela signifie que le
port peut être soit ouvert, soit qu'un dispositif de filtrage bloque les communications.
Le scan de versions ( -sV) peut être utilisé pour différencier les ports ouverts de ceux
filtrés.
Ces trois types de scans (d'autres sont possibles en utilisant l'option --scanflags décrite
dans la section suivante) exploitent une subtile faille de la RFC TCP pour différencier
les ports entre ouverts et fermés.
N'active aucun des bits (les drapeaux de l'en-tête TCP vaut 0).
39 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Scan FIN (-sF)
Active les drapeaux FIN, PSH et URG, illuminant le paquet comme un arbre de Noël
(NDT: la fracture cognitive entre la culture anglo-saxonne et française se ressent
fortement dans cette traduction...).
Ces trois types de scan ont exactement le même comportement, sauf pour les drapeaux
TCP utilisés dans des paquets de tests (probes packets). Si un RST est reçu, le port est
considéré comme étant fermé, tandis qu'une absence de réponse signifiera qu'il est
dans l'état ouvert|filtré. Le port est marqué comme filtré si un message d'erreur ICMP
« unreachable (type 3, code 1, 2, 3, 9, 10 ou 13) » est reçu.
L'avantage principal de ces types de scans est qu'ils peuvent furtivement traverser
certains pare-feux ou routeurs filtrants sans état de connexion (non-statefull). Un autre
avantage est qu'ils sont même un peu plus furtifs que le scan SYN. N'y comptez pas
trop dessus cependant -- la plupart des IDS modernes sont configurés pour les détecter.
Ce type de scan est différent des autres abordés jusqu'ici, dans le sens où ils ne peuvent
pas déterminer si un port est ouvert(ni même ouvert|filtré). Il est utilisé pour établir
les règles des pare-feux, déterminant s'ils sont avec ou sans états
(statefull/stateless) et quels ports sont filtrés.
Le scan ACK n'active que le drapeau ACK des paquets (à moins que vous n'utilisiez
l'option --scanflags). Les systèmes non-filtrés réagissent en retournant un paquet RST.
Nmap considère alors le port comme non-filtré, signifiant qu'il est accessible avec un
paquet ACK, mais sans savoir s'il est réellement ouvert ou fermé. Les ports qui ne
répondent pas ou renvoient certains messages d'erreur ICMP (type 3, code 1, 2, 3, 9,
10, ou 13), sont considérés comme filtrés.
Le scan de fenêtre TCP est exactement le même que le scan ACK à la différence près
qu'il exploite un détail de l'implémentation de certains systèmes pour identifier les
ports fermés des autres, au lieu de toujours afficher non-filtré lorsqu'un RST est
renvoyé. Sur certains systèmes, les ports ouverts utilisent une taille de fenêtre TCP
positive (même pour les paquets RST), tandis que les ports fermés ont une fenêtre de
taille nulle. Ainsi, au lieu de toujours afficher non-filtré lorsqu'un RST est reçu, le scan
de fenêtre indique que le port est ouvert ou fermé selon que la taille de fenêtre TCP de
ce paquet RST est respectivement positive ou nulle.
40 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
-sM (Scan TCP Maimon)
Cette technique est la même que les scans NUll, FIN et Xmas, à la différence près que
le paquet de test est ici un FIN/ACK.
Les utilisateurs réellement experts de Nmap ne veulent pas se limiter aux seuls types
de scans proposés. L'option --scanflagsvous permet de créer votre propre type de scan
en spécifiant vos propres combinaisons de drapeaux TCP
L'argument de l'option --scanflags peut être soit un nombre comme 9 (PSH et FIN),
mais l'utilisation des noms symboliques est plus facile. Mélanger simplement les
drapeaux URG, ACK, PSH, RST, SYN et FIN.
Cette méthode de scan avancé permet de faire un véritable scan de port TCP en
aveugle, (dans le sens où aucun paquet n'est envoyé directement à la cible depuis votre
vraie adresse IP).
Cette option spécifie quels ports vous voulez scanner et remplace le comportement par
défaut. Les ports peuvent être spécifiés un à un ou par plages (séparés par des tirets,
notamment 1-1023).
41 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
-F (Scan rapide (limite aux ports connus)
Cette option indique que vous souhaitez seulement scanner les ports listés dans le
fichier nmap-services fourni avec Nmap (ou le fichier des protocoles avec l'option sO).
Ceci est bien plus rapide que de scanner les 65 535 ports d'un hôte.
Par défaut, Nmap mélange au hasard l'ordre des ports (sauf que certains ports
couramment accessibles sont placés vers le début de la liste pour des raisons
d'efficacité). Ce mélange est normalement souhaitable, mais vous pouvez spécifier
l'option -r pour effectuer un scan de port séquentiel.
• La même chose mais avec l'option -F (fast scan) et -n (sans résolution DNS) :
nmap -F -n -sS [Link]
• Si nmap n'arrive pas à determiner la version, on pourra lui demander de nous donner
une liste des systèmes qui pourraient potentiellement correspondre :
nmap -O --osscan-guess [Link]
• Scanner une plage de ports. Ici on scan du port 0 au 80 et tous ceux supérieurs à 60000
) : nmap -p 0-80,60000 [Link]
42 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
nmap -n [Link]
VII) Conclusion :
Dans un souci de sécurité, il faut mieux que vous soyez le premier à effectuer ces tests,
avant que des pirates avec des objectifs différents le fassent pour vous. Ainsi, vous
découvrirez vos propres faiblesses et éventuelles erreurs humaines d'administration.
Nmap permet de pouvoir prévoir les futures attaques, et aussi de pouvoir connaître quels
services tournent sur une machine. Une installation faite un peu trop vite peut laisser des
services en écoute (donc des ports ouverts sans que cela ne soit nécessaire) et donc
vulnérables à une attaque. N'hésitez pas à utiliser Nmap contre vos serveurs pour savoir quels
ports sont en écoute.
Chapitre 4 : Hping
43 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
I. Déscription
Hping est un outil, en ligne de commande, d’assembleur et d’analyseur de paquets TCP/IP.
Hping est une autre alternative à la commande de base ping. Il est relativement évolué et
permet de gérer plusieurs protocoles.
Son domaine d'applications est plus large que celui de ping ou même fping :
On peut en effet non seulement effectuer des requêtes ICMP pour vérifier la connectivité,
mais aussi et surtout des requêtes TCP ou UDP sur le port voulu pour vérifier l'état de ce port
sur une machine distante, et ceci de façon discrète. On peut aussi grâce à cette fonctionnalité
vérifier le fonctionnement de la pile TCP/IP sur les deux hôtes mis en jeux (source et
destinataire).
Hping a d’abord servi comme un outil de sécurité dans le passé, depuis il a évolué et permet
aujourd’hui de tester la sécurité des réseaux et de leurs utilisateurs. Voici une liste des
différents tests que l’on peut faire avec hping :
• Test de firewall
44 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
• Port scanning avancé
• Test de réseau en utilisant différents protocoles, TOS, et fragmentation
• Traceroute avec les protocoles supportés
• Audit des piles TCP/IP
• Découverte de « path MTU »
• Détermination d’OS à distance
I. Fonctionnement
Par défaut, hping envoie des requêtes TCP sur le port 0 de l'hôte de destination, avec aucun
drapeau (flag) positionné, ce qui aura pour effet de ne pas être inscrit dans les logs dans la
plupart des cas. Le retour sera une réponse TCP avec les drapeaux RST et ACK positionnés si
l'hôte distant est connecté avec une configuration TCP/IP fonctionnelle.
On peut à volonté positionner tous les drapeaux du segment TCP, ce qui permet de vérifier les
politiques des firewalls, et d'en déduire l'état des ports scannés de cette manière.
Une autre fonctionnalité intéressante est de vérifier l'état d'une connexion. On pourra en effet
déduire cette information en jouant sur la taille et la fragmentation des segments transmis.
1. Commande de base
45 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
L'argument -c (--count) permet de stipuler le nombre de requêtes qui doivent être émises.
L’option -q (--quiet) permet d'activer le quiet mode, pour ne pas afficher une ligne par requête,
mais seulement le résumé final.
-V (--verbose) permet d'activer le mode Verbose, qui affiche tous les détails des requêtes
émises.
2. Commandes de protocole
3. Commandes du protocole IP
L'option -a permet de spoofer une adresse IP, c'est à dire de se faire passer pour quelqu'un
d'autre
Il faut noter que, utilisée seule, cette option ne permet pas de recevoir les réponses aux
requêtes émises
Il faut savoir que certains matériels réseau ne supportent pas cette option (certains routeurs
notamment)
La majorité des champs du protocole IP (comme par exemple le code du protocole supérieur)
sont modifiables par des arguments de cette manière, nous ne les détaillerons pas tous ici.
L’option –p (--destport) précise le port destination que l'on va joindre. Cet outil est très
pratique pour faire du scannage de port et ainsi déterminer les sécurités utilisées par un
firewall par exemple.
47 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
L'option -s permet de spécifier le port source de la requête. Cette fonction trouve son utilité
lorsqu'on veut passer outre un firewall spécialement configuré par exemple pour une
transmission de fichier.
-B permet d'activer la retransmission de paquet gérée par TCP, et permet alors d'avoir un
transfert fiable Exemple :
Comme vous pouvez le voir le système répond avec un paquet TCP avec les drapeaux RST
et ACK positionnés. Ainsi vous êtes capables d'effectuer un 'ping TCP', utile quand ICMP
48 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
est filtré. Par défaut le port 0 est utilisé par ce qu'il est très étrange qu'il soit à l'état LISTEN
(ndt : en écoute). Si nous envoyons un paquet TCP sans drapeau à un port à l'état LISTEN
de nombreuses piles TCP/IP ne renverront pas de réponse. Ainsi nous sommes capables
de savoir si un port est dans l'état LISTEN. Par exemple :
49 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Encore aucune réponse, ainsi ce port semble être filtré. De toute façon il
est possible que microsoft utilise un firewall 'intelligent' qui sait que pour
me connecter je dois d'abord envoyer un paquet SYN.
Nous pouvons voir les réponses même si le port 80 est en mode LISTEN parce
qu'un port en mode LISTEN ne devrait pas répondre à des paquets TCP seulement
avec un drapeau NULL, FIN, Xmas, Ymas. ACK et RST sont deux drapeaux TCP
importants qui permettent de tester des ACL (ndt : listes de contrôle d'accès) et de
deviner le champ ip->id en ne produisant aucun évènements (habituellement).
IV. Conclusion
hping montre de réels atouts face aux solutions de test plus anciennes telles que ping ou fping.
En effet, il apporte la nouveauté de pouvoir réaliser simplement des requêtes entièrement
paramétrables avec les protocoles TCP/UDP. Cette possibilité permet plusieurs fonctions
avancées qui s'avèrent très utiles, comme tester la politique d'un firewall sur des ports bien
particuliers, ou le transfert de fichiers à travers un firewall paranoïaque, ou encore le test d'une
liaison.
Au final, on peut dire que hping apport à la commande ping l'aspect quantitatif, c'est à dire
qu'en plus de savoir si un hôte est connecté ou non, on peut obtenir de nombreux
renseignements sur la sécurité de cet hôte et de la liaison qui nous joint à lui.
50 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Chapitre 5 : Nessus
I. Présentaion
Nessus est un outil d'audit automatique de réseau. . Il signale les faiblesses potentielles ou
avérées sur les machines testées. Il permet, via un mode client-serveur, de lancer des attaques
sur un réseau ou plusieurs réseaux (partager la charge d'attaque sur ces réseaux avec un client
et plusieurs serveurs), donc sur les serveurs que comporte(nt) ce(s) réseau(x). Cet outil
possède une base d'attaques importante, et permet ainsi de tester certaines versions obsolètes
51 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
de services connus (Apache / IIS). Il permet aussi de tester les applications Web connues (très
fortement utilisées par la communauté, style PHPNuke, phpBB, et autres). Nessus possède
aussi d'autres plugins intéressants comme Hydra, qui permet de tester la robustesse des mots
de passe des applications Web.
Le client peut être situé sur une autre machine, et invoquer des fonctions distantes sur le
serveur afin de tester la sécurité sur une ou plusieurs machines ou réseaux.
1. Avantages :
a. Nessus est un outil très complet dans son domaine. Les paramètres sur lesquels on peut
agir sont très nombreux, ce qui donne l'impression que cet outil est très complet.
b. La présentation du rapport de scan est très pratique, sous forme tableau dynamique
rassemblant les sous réseaux observés, les IP précises observées, les ports détectés, la
sensibilité du port, et enfin une explication sur le warning présenté.
c. L'interface graphique est la bienvenue et peut présenter de manière visuelle toutes les
options disponibles.
d. Nessus prévient si l'on coche une option qui peut être dangereuse ou bloquante pour un
certain temps.
e. Son architecture permet son extensibilité. Le développement d'une attaque n'est pas
très compliqué en langage Nessus (NASL - Nessus Attack Scripting Language), ou même en
C.
f. Les informations sur le niveau de sécurité résultant de ces attaques sont reportées dans
les rapports. Des explications sont données sur la raison pour laquelle un trou de sécurité a été
détecté.
2. Inconvénients :
1. Le grand nombre de paramètres sur lesquels on peut agir sans tout le temps bien
comprendre ce qu'ils font. En effet le détail et la signification des attaques, des options de
scans ne sont pas toujours très clairs par leur simple nom.
52 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Etape 1 Etape 2
Etape 3 Etape 4
Etape 5 Etape 6
53 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
2. Utilisation
Après s’être enregistré auprès de Teenable et avoir validé notre version de Nessus, ouvrons la
partie « Nessus Server Manager » :
Ajouter un utilisateur :
Cliquer sur “Manage Users…” pour créer et gérer des comptes pour Nessus server:
54 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Pour créer un utilisateur, cliquer sur le bouton “+” puis entrer un nouveau utilisateur avec un
mot de passe :
55 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Exemple : [Link]
• Reports : contient les résultats des scans effectués. Il est possible d’en importer via
l’option ‘upload‘.
56 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
• Scans : permet de définir les scans à effectuer. En cliquant sur ‘add‘, vous pouvez
définir le type de scan, la politique à appliquer (voir point suivant), et indiquer une
cible (possibilité d’importer une liste).
• Policies : ce menu est le plus essentiel. Il permet de définir tout un tas d’options pour
les scans à effectuer. 4 sous options disponibles :
o General : l’onglet Général vous permet de nommer la politique et de
configurer diverses opérations d’analyse. Six cases d’options sont disponibles
pour contrôler le comportement du scanner. Quelques options utiles : safe
Checks (permet de désactiver les plugins pouvant faire planter l’hôte distant),
scan de ports en custom list (permet de définir une range de ports à scanner),
etc.
o Credentials : l’onglet de crédentiels permet de configurer des informations
d’authentification lors du scan. Cette option permet à Nessus des tests en boîte
blanche afin d’effectuer une plus grande variété de contrôles qui se traduisent
par des résultats plus précis.
o Plugins : l’onglet plugins permet à l’utilisateur de choisir des contrôles de
sécurité spécifiques au moyen de divers modules (Backdoors, DNS, Databases,
Firewall etc.). Attention au module « Denial Of Service » surtout si vous
n’avez pas choisi l’option safe checks dans l’onglet général.
o Preferences : l’onglet préférences permet d’affiner divers paramètres. Le menu
déroulant propose des éléments de configuration supplémentaires pour la
catégorie sélectionnée. Il est important de noter que ceci est une liste
dynamique dépendante des plugins et des politiques que l’on a sélectionné.
• Users : l’onglet permet d’ajouter/supprimer des utilisateurs ayant accès à Nessus.
57 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Conclusion
58 Mohamed ZAOUI
Firewall - Nessus – Nmap - Hping
Nmap permet de pouvoir prévoir les futures attaques, et aussi de pouvoir
connaître quels services tournent sur une machine. Une installation faite un peu
trop vite peut laisser des services en écoute (donc des ports ouverts sans que
cela ne soit nécessaire) et donc vulnérables à une attaque. N'hésitez pas à
utiliser Nmap contre vos serveurs pour savoir quels ports sont en écoute.
Bibliographie
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
firewall.php3
59 Mohamed ZAOUI