Travail pratique 1 : les attaques par déni de service

Transcription

Travail pratique 1 : les attaques par déni de service
INF4470 Fiabilité et sécurité informatique (Hiver 2010)
1/3
Travail pratique 1 : les attaques par déni de service
Section 1 : outils de découverte de vulnérabilités
Dans cette partie du laboratoire, vous aurez à installer et tester certains outils libres choisis parmi
les plus populaires pour l'analyse des vulnérabilités de systèmes informatique : NMAP, Nessus et
Metasploit.
=== LIENS ===
1) NMAP (http://nmap.org/)
2) Nessus (http://www.nessus.org/)
3) Metasploit (http://www.metasploit.com/)
=== QUESTIONS ===
* N'oubliez pas qu'il peut-être utile de « sniffer » (capturer les paquets) pendant vos
expérimentations pour bien comprendre ce que font les outils.
1. Dans vos mots : à quoi sert NMAP ?
2. Dans vos mots (maximum 10 lignes) : comment fonctionne NMAP ?
3. Quelle est la commande NMAP permettant de détecter les systèmes d'exploitation sur les
machines détectées.
4. Dans vos mots : à quoi sert Nessus ?
5. Dans vos mots (maximum 10 lignes) : comment fonctionne NMAP ?
6. Dans vos mots : à quoi sert Metasploit ?
7. Pour faire une attaque avec Metasploit, il faut choisir deux choses : un « exploit » et un
« shellcode »... qu'est ce qu'un « exploit » et qu'est ce qu'un « shellcode » ?
8. Décrivez un scénario de « prise de contrôle » par un attaquant d'une machine distante.
=== A REMETTRE ===
Vos réponses aux questions qui vous sont posés, et en annexe, les traces d'exécution
(commentées) jugées nécessaires.
INF4470 Fiabilité et sécurité informatique (Hiver 2010)
2/3
Section 2 : implémentation d'attaques par déni de service
Dans cette partie du laboratoire, vous devrez concevoir des logiciels d'attaques par déni de
service.
=== CONNAISSANCES REQUISES ===
–
–
le langage C et les « sockets ».*
les protocoles IP, ICMP et TCP.
* Des introductions au sujet des sockets :
http://world.std.com/~jimf/papers/sockets/sockets.html
http://www.iprelax.fr/doc/socket_c1.php
=== DESCRIPTION GÉNÉRAL DE L'EXPÉRIMENTATION ===
Le but de ce laboratoire est de démystifier les attaques, principalement celles par déni de service,
et de mieux situer les protocoles de l'Internet et leurs faiblesses. Pour ce faire, vous devrez
trouver comment effectuer les attaques suivantes : IP Spoofing, Land, Teardrop, Smurf, Ping of
Death et TCP Syn flooding. Pour vous aider, quatre programmes vous seront fournis. Il vous
sera possible de concevoir vos attaques en modifiant légèrement les programmes qui vous sont
fournis, ou en les utilisant de certaines manières précises.
=== MANIPULATIONS ===
Vous devez concevoir les attaques suivantes; voici une liste de liens définissants la mécanique de
chacune d'elles :
- Ping of death : http://en.wikipedia.org/wiki/Ping_of_death
- Teardrop : http://www.securiteinfo.com/attaques/hacking/teardrop.shtml
- Smurf : http://en.wikipedia.org/wiki/Smurf_attack
- Land : http://en.wikipedia.org/wiki/LAND
- TCP Syn Flooding : http://en.wikipedia.org/wiki/SYN_flood
- IP Spoofing :
http://www.olf.gouv.qc.ca/ressources/bibliotheque/dictionnaires/Internet/fiches/8370637.html
Vous trouverez de l'information complémentaire en suivant le lien suivant menant à un document
traitant de la sécurité pour les protocoles TCP/IP :
http://www.hsc.fr/ressources/cours/tcpip/index.html.fr
=== PROGRAMMES FOURNIS ===
–
–
Le premier programme produit un paquet ICMP Echo Request (Ping).
Le deuxième émet aussi un paquet ICMP Echo Request (Ping), mais fragmenté en deux
INF4470 Fiabilité et sécurité informatique (Hiver 2010)
–
–
3/3
paquets.
Le troisième construit et émet un paquet ICMP Echo Request (Ping) fragmenté en n paquets.
Le quatrième construit une trame TCP demandant l'ouverture d'une connexion (fanion SYN
allumé).
=== DÉROULEMENT ===
–
–
–
–
–
–
Observer le code source des programmes fournis
Si possible, tester le fonctionnement et les limites des programmes
Si possible, observer les échanges sur le réseau lors de l'exécution des programmes à l'aide
d'un logiciel de capture de trafic réseau tel que Wireshark
Comprendre et résumer les 6 attaques (Land, Teardrop, Smurf, IP Spoofing, TCP SYN
Flooding, Ping of death)
Concevoir comment réaliser ces attaques une à la fois à l'aide des exemples fournis
Décrire les attaques conçues et analyser les résultats prévus (trafic sur le réseau)
=== A REMETTRE ===
Un rapport contenant, pour chaque attaque (une page par attaque) :
– La description de ce type d'attaque (5 lignes maximum)
– La description de votre attaque (programmes utilisés, modifications faites aux codes fournis,
utilisation faites des programmes fournis, etc.)
– La description et l'analyse des résultats escomptés pour vos attaques