Vous êtes sur la page 1sur 3

TP

Mise en évidence des vulnérabilités dans


les systèmes et les services

1. Objectif du TP :
L’objectif de ce TP est de :
Manipuler certains services qui peuvent être utilisés sur un système Linux tel que le
service web apache, Telnet, etc.
Découvrir quelques vulnérabilités qui peuvent être associées à ces services ainsi que les
systèmes qui les intègrent.

2. Environnement de travail
Machine disposant du système d’exploitation Linux.
Les paquetages relatifs aux outils utilisés ainsi que la documentation associée
(wireshark/ethereal, hping, http, etc.).
Note : la version des paquetages dépend de la distribution Linux fournie et qui sera indiquée par
l’enseignant.
3. Instructions
L’@ip_voisine peut être remplacée par localhost ou 127.0.0.1 si une connexion réseau n’est
pas disponible.
Désactiver le service de filtrage en utilisant commande suivante: service iptables stop.

Ce TP fera l’objet d’un compte rendu. Pour chacune des étapes suivantes il vous est demandé
de donner la syntaxe de la commande utilisée et de décrire et d’interpréter clairement les
résultats obtenus.
4. Présentation de Wireshark
Wireshark est un outil libre d'analyse de protocole, ou « packet sniffer », utilisé dans le dépannage
et l'analyse de réseaux informatiques, le développement de protocoles et le piratage.
C’est un outil pour la capture, l’affichage et l’analyse du trafic réseau. Il peut fonctionner selon
deux modes : le premier permet d’analyser certaine fichiers de capture déjà existants tandis que le
second capture le trafic en temps réel et l’analyse.
Wireshark est multiplate-forme, il fonctionne sous Windows, Mac OS X, Linux, Solaris.
1) Lancez la commande Wireshark, puis activer l’option capture.
2) Choisissez l’interface de capture eth0 (lo : boucle locale) en cliquant sur Prepare.
3) Appuyez sur Start. Une fenêtre affichant les paquets capturés avec le protocole utilisé va
apparaître.
4) Cliquez sur Stop pour cesser la capture.

L'affichage des résultats se fait selon deux zones :


Zone 1 : La liste des paquets capturés disponibles en dessous de la barre de menu avec un affichage
en colonnes du contenu de chaque paquet. Nous avons les informations suivantes :
La première colonne correspond au numéro de la trame.
La deuxième colonne correspond au temps écoulé depuis le lancement de la capture et l'arrivée de
la trame.
La troisième colonne correspond à l'adresse IP (source) ou nom de la machine émettrice.
La quatrième colonne correspond à l'adresse IP (destination) ou nom de la machine réceptrice.
La cinquième colonne correspond au protocole utilisée entre les deux machines.
La sixième colonne correspond aux informations complémentaires.
Zone 2 : La deuxième zone contient le paquet (le début s'il est trop gros) affiché en hexadécimal et
en ASCII.

Les filtres
Il y a deux sortes de filtres sous Wireshark (ou ethereal). Les filtres à la capture et les filtres à
l'affichage.
1. Filtres de capture
Ne seront gardés que les paquets pour lesquels le filtre est vrai. Les filtres se décomposent en 3
parties :
le protocole qui peut être ether, fddi, ip, arp, rarp, icmp, tcp ou udp,
la direction qui peut être src ou dst,
un champ qui peut être host, net ou port suivi d'une valeur.
Les opérateurs and, or et not peuvent être utilisés pour combiner des filtres.
Filtre Fonction
host 172.16.0.1 and tcp ne conserve que les paquets TCP à destination ou en
provenance de la machine 172.16.0.1
udp port 53 and dst host 172.16.0.1 ne conserve que les paquets UDP en provenance ou en
destination du port 53 à destination de la machine 172.16.0.1
tcp dst port 80 and dst host ne conserve que les paquets TCP en destination de la machine
172.16.0.1 and src net 172.16.0.0 172.16.0.1 sur le port 80 et en provenance des machines du
mask 255.255.255.0 réseau 172.16.0/24

2. Filtres d'affichage
Les filtres d'affichage sont un peu plus fins que ceux de la capture. On peut aussi utiliser les
opérateurs ==, !=, >, <, >= et <= pour comparer les champs avec des valeurs. Les expressions ainsi
fabriquées peuvent être combinées avec les opérateurs && (pour un et logique), || (pour un ou
logique), ^^ (pour le ou exclusif) et ! pour la négation. L'usage des parenthèses est possible.
Voici quelques exemples de quelques champs disponibles :
Champ Type Signification
ip.addr adresse IPv4 adresse IP source ou destination
ip.dst adresse IPv4 adresse IP destination
ip.flags.df Booléen Drapeau IP, ne pas fragmenter

Directives pour l’installation d’un paquetage :


Deux approches pour installer un outil sous Linux :
1) Installation d’un paquetage en utilisant la commande rpm:
#rpm -Uvh <nom du RPM binaire> ou bien #rpm -ivh <nom du RPM binaire>
Avec l'outil yum : #yum install nom du paquetage
2) Installation du code source en utilisant l'archive nom_archive qu'on décompressera en tapant :
tar -zxvf nom_archive.tar.gz, puis taper sous le répertoire : ./configure suivi de la
commande make et l’outil sera installé.
(Indication : vous pouvez utiliser l’utilitaire man pour consulter les options d’utilisation de la
commande rpm).
Travail demandé :
A) Installation des outils
1) Installer l’analyseur de trafic Wireshark (ou ethereal).
2) Tester les fonctionnalités de cet outil à travers des manipulations à mentionner.
3) Installer hping et consulter sa documentation.
4) Installer telnet et le serveur apache.

B) Etude de quelques vulnérabilités associées aux services et système


1- Vulnérabilité liée au protocole Telnet
a) Activez le service telnet en accédant au fichier /etc/xinetd.d/telnet. Quel attribut à modifier, si
nécessaire ?
b) Pour démarrer ce service au prochain démarrage, utiliser la commande suivante : chkconfig --
level 345 telnet on
c) Créez un utilisateur test avec la commande adduser et modifiez le mot de passe avec la
commande passwd
d) Lancez wireshark tout en activant la capture.
e) Essayez de se connecter sur la machine voisine ou sur la même machine à l'aide de la
commande : telnet @IP_voisine/127.0.0.1
f) Essayer de reconstituer le mot de passe avec wireshark.
g) Conclure.

2- Vulnérabilités liée à la configuration du serveur web apache


a) Lancer le serveur apache en utilisant la configuration par défaut, en introduisant la ligne
suivante au niveau d’un terminal : service httpd start
b) Créer un répertoire sous « /var/www/html/ ».
c) Avec votre browser, connectez sur l’url http://localhost. Essayez de repérer des informations
sur le serveur web, d’accéder au répertoire crée.
d) Quelles vulnérabilités peuvent être détectées suite à cette opération ?
e) Lire le fichier de configuration du serveur apache localisé à l’emplacement suivant :
/etc/httpd/conf/httpd.conf (indication : il s’agit d’avoir une idée sur la structure de ce fichier
ainsi que les variables de configuration utilisées.).
f) Quelles actions sur le fichier de configuration doivent être menées pour éliminer ces
vulnérabilités ?

3- Vulnérabilité liée au protocole IP : utilisation d’un logiciel de masquage d’IP :


HPing
a) Installez le logiciel hping et consultez sa documentation.
b) Trouvez la commande pour faire un ping sur la machine de votre voisin (ou en utilisant
le localhost) avec une adresse source différente de celle de la machine hôte.
c) Faite un ping sur la machine de votre voisin avec une adresse source aléatoire. Observer avec
votre sniffer.

4- Vulnérabilités liées au système


a) Visualisez les services qui démarrent automatiquement sur la machine Linux.
b) (Indication : vous pouvez utiliser la commande setup sur un terminal ou via la commande
chkconfig --list).
c) Quel privilège requis pour effectuer cette opération ?
d) Quel sont les services non nécessaires qui démarrent au lancement de la machine ?
e) Désactivez ces services en utilisant la commande chkconfig selon la syntaxe suivante :
chkconfig –level 35 nom_service off.
f) Essayer d’ouvrir une session en utilisant un terminal? quelle information peut-on collecter ?

3/3