Vous êtes sur la page 1sur 94

IT TALENTS SCHOOL

Le balayage

Formation PIRATAGE ETHIQUE 2


Le balayage: Introduction
• La phase de recherche environnementale terminée, et la liste des
cibles établies, le pirate va s'employer à balayer le réseau cible afin
d'en obtenir une topologie détaillée, aussi bien d'un niveau réseau
qu'applicatif.
• L'intérêt de cette phase, qui touche directement les systèmes cibles
et est donc la première partie décelable d'une tentative d'intrusion,
est de trouver un ou plusieurs systèmes «exploitables», c'est-à-dire
qu'il sera facile au pirate de compromettre.
• N'oublions pas aussi le caractère opportuniste d'une attaque: il
suffit potentiellement d'une seule vulnérabilité pour réussir une
intrusion sur un système d'information; c’est aussi la grande
différence avec le travail des administrateurs systèmes ou des
équipes d'audit, qui doivent identifier et corriger toutes les failles.
– Le pirate peut donc pour des raisons de furtivité arrêter cette phase de
scanning dès qu'il trouve un système vulnérable, le facteur chance est dans
ce cas prépondérant

Formation PIRATAGE ETHIQUE 3


Le balayage: Objectifs
• Le balayage consiste à:
– Détecter les machines actives (Live systems)
– Découvrir les ports actifs
– Découvrir les services utilisés par la machine destination
– Découvrir le système d'exploitation de la machine destination
(OS FingerPrinting)
– Découvrir les adresses IP de la machine destination pour
déduire la cartographie du réseau.

Formation PIRATAGE ETHIQUE 4


Les différentes méthodes de balayage

Scan type

open scan half-open stealth sweeps misc.

TCP connect() TCP SYN scan TCP FIN scan ICMP echo UDP/ICMP error

dumb ou idle FTP Bounce


reverse ident ACK scan TCP sweeps
scan scanning

XMAS scan

NULL scan

Formation PIRATAGE ETHIQUE 5


Types de balayage
• Il existe trois types de balayage:
– Balayage du réseau (Network Scanning)
– Balayage du port (Port Scanning)
– Découvert du système d'exploitation (OS
Fingerprinting)

Formation PIRATAGE ETHIQUE 6


ICMP Scanning

Formation PIRATAGE ETHIQUE 7


ICMP Scanning
• Procédure pour identifier les machines actives dans le
réseau (Checking for Live Systems)
• Pour identifier les adresses IP des victimes potentielles,
on envoie un packet ICMP "Echo Request". Les machines
actives (up) répondent par un paquet ICMP "Echo Reply"
– On “ping” chaque ordinateur individuellement
– On “ping” plusieurs adresses IP en bloc

Formation PIRATAGE ETHIQUE 8


ICMP Scanning
• Etant donné que certains filtres IP (firewalls) annoncent
le refus des paquets par un message
ICMP, le scan ICMP permet donc aussi de faire une
découverte rudimentaire des règles de filtrage IP.

Formation PIRATAGE ETHIQUE 9


Ping
• Ping permet de déterminer les machines actives.
• Il se sert du protocole ICMP et envoie des messages de «
requête d’écho » (echo request) à une machine.
• Si la machine cible n’est pas active, ping ne reçoit pas de
réponse et après un délai d’attente, il considère le
paquet envoyé comme perdu.
• Si la machine est active, elle retourne un message de
«réponse d’écho» (echo reply).
• Ping est un moyen
simple et direct de
déterminer les
machines actives
d’un réseau.
Formation PIRATAGE ETHIQUE 10
Balayage de ping (ping sweeping)
• L'inconvénient de ping est qu'il ne permet
d'identifier qu'une seule machine à la fois, alors
qu'un attaquant cherche à envoyer des pings sur
un grand nombre de machines à la fois (en
parallèle), pour voir instantanément celles qui
répondent.
• Cette technique s'appelle balayage de ping (ping
sweeping) parce que le programme balaye une
plage d'adresses pour déterminer celles qui sont
actives.

Formation PIRATAGE ETHIQUE 11


Balayage de ping (ping sweeping)

Formation PIRATAGE ETHIQUE 12


Nmap
• Nmap peut servir à déterminer les machines actives.
• Nmap est un outil à usages multiples qui comprend de
nombreuses fonctionnalités.
• Il s'agit avant tout d'un scanner de ports mais il
convient
pour balayer une plage d'adresses avec des pings.
Exemple de ICMP Scan:
nmap –sP –PI 10.4.0.1-30
Permet de balayer une plage de trente adresses.
-sP: ping scan
-PI: ICMP ping

Formation PIRATAGE ETHIQUE 13


Port Scanning

Formation PIRATAGE ETHIQUE 14


Introduction
• Une des premières étapes dans l'intrusion/audit
d'un hôte
distant est tout d'abord d'avoir une liste des ports
ouverts.
• Une fois ceci établi, le résultat aidera le pirate pour
identifier les services variés qui sont exécutés sur un
port en utilisant une correspondance avec les RFC,
permettant de compromettre d'avantage l'hôte
distant après cette découverte initiale.
• Pour connaître les ports ouverts sur un système, on
utilise un programme appelé scanner de ports. Ce
dernier envoie des paquets sur les différents ports et
guette leur réaction. En fonction de celle-ci, il évalue
l’état du port considéré.
• Exemple de scanner: NMAP (port scan, ping sweep, OS
identification, identifications de process).
Formation PIRATAGE ETHIQUE 15
Rappel sur TCP: Le paquet TCP

Formation PIRATAGE ETHIQUE 16


Rappel sur TCP: Flags
• Drapeaux (flags) (6x1 bit): Les drapeaux représentent des
informations supplémentaires :
– URG: si ce drapeau est à 1 le paquet doit être traité de façon
urgente.
– ACK: si ce drapeau est à 1 le paquet est un accusé de
réception.
– PSH (PUSH): si ce drapeau est à 1, le paquet doit être
transmis directement à l'application sans qu'il soit placé en
mémoire tampon.
– RST: si ce drapeau est à 1, la connexion est réinitialisée.
– SYN: Le Flag TCP SYN indique une demande d'établissement de
connexion.
– FIN: si ce drapeau est à 1 la connexion s'interrompt.

Formation PIRATAGE ETHIQUE 17


Rappel sur TCP:
Etablissement d'une connexion
• Une connexion TCP est établie en trois temps de manière
à assurer la synchronisation nécessaire entre les
extrémités:

Formation PIRATAGE ETHIQUE 18


Principe du Port Scanning
• Utilisé pour observer l’état des ports d’un hôte/réseau
(port ouvert/fermé).
– Le “ping” est souvent bloqué par les “firewall”
– Déterminer les services offerts qui écoutent un port et lister
des vulnérabilités.
• Le scanning de ports étant assez bruyant au niveau des
enregistrements (logs) des firewalls ou des systèmes de
détection d’intrusion, de nombreuses variations existent
pour assurer la furtivité des scans.
• Les techniques de scan port prennent forme de trois
manières différentes
– scan ouvert
– scan semi-ouvert
– scan furtif

Formation PIRATAGE ETHIQUE 19


Méthodes de scan ouvert
• Ce type de scan, le plus simple à implémenter car il ne
nécessite aucune manipulation de paquet, tente d’établir
une connexion légitime avec le port visé de la machine
distante. C’est aussi le scan le plus visible.
If Port is Open
SYN
SYN/ACK

ACK

If Port is Closed
SYN
RST

No need to send back a RST


Formation PIRATAGE ETHIQUE 20
TCP connect scan
• Cette méthode est créée à travers l'appel système
connect(), permettant à la plupart des identifications
instantanées d'un port ouvert ou fermé. Si l'appel de
connect() retourne la valeur 1 (true), le port est
ouvert, sinon le port est fermé.
• Exemple: nmap –sT 10.4.0.1-20
• Avantages:
– rapide, précis, ne requière pas de privilèges particuliers.
• Inconvénients :
– facilement détectable et enregistrable (logged).

Formation PIRATAGE ETHIQUE 21


Méthodes de scan demi-ouvert
• Le terme 'demi-ouvert' quand le client termine la
connexion avant que la fin des accords en trois
étapes soit terminé.
• Ainsi, cette méthode de scan sera souvent
indétectable par les IDS se basant sur la connexion,
et retournera des résultats plutôt positifs
(reconnaissant avec succès les ports ouverts/fermés).

Formation PIRATAGE ETHIQUE 22


TCP SYN Scan
• L'implémentation de cette méthode de scan est
similaire à la connexion complète d'accord TCP en
trois étapes à l'exception que, au lieu
d'envoyer des réponses ACK, le pirate désactive la
connexion.
If Port is Open
SYN

SYN/ACK

RST

If Port is Closed
SYN
RST

NoETHIQUE
Formation PIRATAGE need to send back a RST 23
TCP SYN Scan
• Bien que cette technique soit devenue plutôt facilement
détectable par de nombreux IDS, ce qui implique que
quasiment tous les programmes de Dénis de Service (DoS)
basent leurs attaques en envoyant un excès de paquets SYN.
• De la même manière, les systèmes de détection d'intrusion
courants sont sans aucun doute capables de journaliser ces
scans demi-ouverts: TCP wrappers, SNORT, Courtney,
iplog, pour ne nommer qu'eux, ainsi, leur efficacité
s'est dégradée dans ces dernières années.
• Exemple: nmap –sS –p 21-500 10.4.0.1-20
• Avantages : rapide, fiable, évite les IDS primaires, évite l'accord
TCP en trois étapes
• Inconvénients: requière le privilège root, règles empêchant
beaucoup d'essais de scan SYN

Formation PIRATAGE ETHIQUE 24


Exemple: TCP SYN scan dans nmap
• Tout d’abord, elle commence par vérifier si la machine
est active en envoyant: ICMP Echo (ou ARP) et TCP ACK
80.
• Ensuite envoie au port x un TCP SYN
– S’il reçoit un TCP SYN/ACK Open
– S’il reçoit un RST Closed
– S’il reçoit un ICMP 3(13) Filtered
• ICMP: type 3 code 13 = Communication administratively prohibited.
– Pas de réponse Filtered

Formation PIRATAGE ETHIQUE 25


Scan Furtif (Stealth Scanning)
• A l'origine, ce terme était utilisé pour décrire une
technique (TCP SYN scan) qui évitait les IDS et les
enregistrements (logs), maintenant connu comme un
scan "semi-ouvert".
• Actuellement, le scan furtif est considéré comme
étant tout scan étant concerné par quelques uns des
points suivants:
– paramétrant des drapeaux individuels (ACK, FIN, RST, .. )
– faisant intervenir des drapeaux NULL
– faisant intervenir tous les drapeaux
– passant à travers les filtres, pare-feux, routeurs
– apparaît comme du trafic réseau inattendu
– taux de paquets éparpillés varié

Formation PIRATAGE ETHIQUE 26


Scan Furtif: Principe
• D’après le RFC 793, la pile TCP/IP d’un système d’exploitation doit
répondre par RST à tout paquet adressé à un port fermé, tandis
qu’elle doit ignorer et ne pas répondre aux paquets non SYN
adressés aux ports ouverts.
• L’idée des scans SYN/ACK, ACK, FIN, NULL et XMAS est d’utiliser
des paquets contenant respectivement le flag SYN/ACK, ACK, FIN,
aucun flag, les flags FIN URG et PUSH pour vérifier cette condition.
• Cependant quelques systèmes ne suivent pas les spécifications
posées dans le RFC, et ces scans s’avèrent inopérants sur les
plates-formes Microsoft (Windows NT et 9x), Cisco IOS, BSDI,
HP/UX, SGI Irix.
• Utile pour distinguer un système UNIX d'un Windows

Formation PIRATAGE ETHIQUE 27


Scan Furtif: FIN Scan
• Idéalement, un seul drapeau FIN est envoyé, un
port fermé serarenvoyéavec un bit RST. Les ports
ouverts, en revanche, ne renverront pas de paquet,
par conséquent tout ce qui ne renvoie pas de bit RST
est soupçonné d'être un port
ouvert.
• Exemple:
nmap -sF 10.4.0.4

Formation PIRATAGE ETHIQUE 28


Scan Furtif: FIN Scan

If Port is Open

FIN
No Answer

If Port is Closed
FIN
RST

Formation PIRATAGE ETHIQUE 29


Scan Furtif: XMAS Scan
• Dans le scan dit XMAS, tous les drapeauxdisponibles
dans l'en-tête TCP sont définis (surtout FIN, URG,
PSH). Le scan XMS tree ou "Arbre de Noël" est
nommé justement d'après l'effet décoratif du scan avec
l'implémentation des drapeaux.
• Parce que cette méthode est basée sur le code réseau de
BSD, la technique ne fonctionnera que contre les hôtes
UNIX.
• Exemple:
nmap -sX 10.4.0.4

Formation PIRATAGE ETHIQUE 30


Scan Furtif: XMAS Scan

If Port is Open

URG/PSH/FIN
No Answer

If Port is Closed
URG/PSH/FIN
RST

Formation PIRATAGE ETHIQUE 31


Scan Furtif: NULL Scan
• Lescan NULL désactive TOUS les drapeaux disponibles
dans l'en-tête TCP. ACK, FIN, RST, SYN, URG, PSH
deviennent tous non définis.
• En raison du fait que les RFC ne spécifient pas
exactement comment un hôte doit répondre à ces
types de paquets, beaucoup de code
réseau pour la
plupart des systèmes d'exploitation différeront dans les
réponses du paquet.
• Le grand avantage de ce type de scan est le
détournement des stateless firewalls ou les filtres ACL.
• Exemple:
nmap -sN -PN 10.4.0.4

Formation PIRATAGE ETHIQUE 32


Scan Furtif: NULL Scan

If Port is Open

No Flags Sent
No Answer

If Port is Closed
No Flags Sent
RST

Formation PIRATAGE ETHIQUE 33


Scan Furtif: Détection
• Ce type de scan (surtout l’utilisation du drapeau FIN) est
très difficile à détecter pour un IDS réseau, car il lui
faudrait mémoriser toutes les connexions afin de
déterminer si le FIN correspond à une connexion
réellement établie ou non.
• Les IDS réseau reconnaissent les scans FIN en
remarquant les rafales de paquets FIN vers différents
ports en un laps de temps très courts. Insérer un délai
suffisant entre les probes permet d’éviter la détection de
ces scans.

Formation PIRATAGE ETHIQUE 34


ACK Scan: Filtrage des paquets
• Si Ack est envoyé et (le port est fermé ou le port n’attend pas
un segment ACK), RST est envoyé.
• Cette technique est très populaire parmi les pirates pour:
– Analyser les règles de filtrage
– déterminer la nature d’un pare-feu (Stateful Firewall ou Filtrage IP
qui bloque les paquets ICMP et SYN)
– de définir les ports filtrés.

Formation PIRATAGE ETHIQUE 35


ACK Scan: Filtrage des paquets

Formation PIRATAGE ETHIQUE 36


TCP SYN/ACK: Host Discovery
Exemple:
nmap -PS –PA 60.168.47.47

Formation PIRATAGE ETHIQUE 37


Fragmentation IP: Rappel
• Une des fonctionnalités rendues par IP est la
fragmentation des paquets pour les adapter aux
contraintes de taille du support physique, le lien.
• Le protocole IP fragmente les paquets de taille
importante en plusieurs paquets IP possédant chacun
un numéro de séquence et un numéro d'identification
commun.
• A réception des données, le destinataire réassemble les
paquets grâce aux valeurs de décalage qu'ils
contiennent.

Formation PIRATAGE ETHIQUE 38


Fragmentation IP: Rappel
• Le champ Fragment Offset part depuis 0 et
s’incrémente de 185 à chaque trame. Cette valeur (185)
provient du fait qu’une trame IP a une longueur de
1500 octets - 20 octets de l’en-tête IP, qui font 1480.
L’offset s’indiquant par sauts de 8 bytes, nous devons
donc diviser 1480 par 8, ce qui nous donne bien 185.

Formation PIRATAGE ETHIQUE 39


Fragmentation IP
• Ainsi, il est possible de découper les paquets de telle
façon que les informations nécessaires au firewall pour
décider de l’acceptation ou non du paquet soient
réparties sur plusieurs fragments, en coupant par
exemple l’en-tête TCP en deux.
• Les alternatives possibles pour le firewall sont alors
l’acceptation/le refus sans examen du paquet ou l’attente
des autres fragments pour pouvoir défragmenter le
paquet et ainsi disposer de l’en-tête complet pour faire la
décision de passage.
• Dans de nombreux cas (en particulier dans les filtres IP
simples des routeurs, sur les réseaux à grand débit), le
coût de cette défragmentation est trop important et
seuls les fragments d’offset 0 (censés contenir les
informations de décision) sont inspectés, les autres sont
par défaut acceptés.
Formation PIRATAGE ETHIQUE 40
Scanning utilisant la fragmentation IP
• Cette technique rend discrète l'implémentation d'un scan
en découpant l'en-tête TCP en petits fragments.
• L’offset des fragments est en fait le rang (offset) du
premier octet de données du fragment dans le paquet
final réassemblé:
– En jouant sur l’offset, nous pouvons créer des fragments
chevauchant les précédents et réécrivant des données d’autres
fragments, telles que les en-têtes TCP ou UDP contenues dans
le paquet IP.
• Exemple:
nmap –sS –f 10.4.0.1-30

Formation PIRATAGE ETHIQUE 41


Scanning utilisant la fragmentation IP
• Le filtre doit disposer de l’intégralité des fragments pour
pouvoir appliquer les règles au paquet.
• De plus, le filtre ne sait pas à priori comment va réagir la
machine destination à cette réécriture des paquets par
fragments se chevauchant: ce comportement dépend en
effet de la stack IP de la machine distante, et quasiment
tous les cas existent (réécriture des données en se
conformant aux derniers fragments reçus, abandon des
fragments se chevauchant, abandon pur et simple du
paquet, …).

Formation PIRATAGE ETHIQUE 42


SYN/FIN Scan avec fragmentation IP
• Cette méthode a été popularisée comme moyen de
contourner certains IDS et filtres IP.
• Des outils (Fragrouter par exemple) sont
disponibles
pour implémenter ces attaques.
• Avantages:
– évite les IDS,
– furtif
• Inconvénients:
– peut causer des problèmes réseau sur l'hôte distant

Formation PIRATAGE ETHIQUE 43


SYN/FIN Scan avec fragmentation IP
• Ce n'est pas une nouvelle méthode de scanning mais
une variante d'autres techniques.
• Au lieu d’envoyer un seul paquet, le scanner le divise en
plusieurs petits fragments IP. Il fragmente l'en-tête
TCP en plusieurs paquets pour rendre la détection du
balayage plus difficile aux filtres de paquets.

Formation PIRATAGE ETHIQUE 44


TCP sweeps
• Envoi d’un paquet SYN ou ACK sur le port 80 de la cible
(le moins souvent filtré).
• S’il y a une réponse de la machine, on peut en déduire
qu’elle est UP. Sinon, on la considèrera comme DOWN.
• Peu fiable.

Formation PIRATAGE ETHIQUE 45


UDP/ICMP error
• Cette méthode de scan diffère des précédentes parce
qu'elle utilise le protocole UDP au lieu de TCP.
• Alors que ce protocole est plus simple, le scanning est
réellement sensiblement plus difficile. Ceci parce ce que
les ports ouverts ne sont pas obligés d'envoyer un
acknowlegment en réponse à une demande et les ports
fermés ne doivent même pas renvoyer de paquet
d'erreur.

Formation PIRATAGE ETHIQUE 46


UDP/ICMP error
• Envoi d’un paquet UDP de 0 octet sur chaque port de la
machine. Si on reçoit un message ICMP port
unreachable, le port est fermé. Sinon, il est considéré
comme ouvert.

• Beaucoup de services vulnérables écoutent sur de l’UDP:


SNMP, NFS,…
• On évite les IDS spécifiques à TCP.
• Exemple:
nmap –sU 10.4.0.1-30
Formation PIRATAGE ETHIQUE 47
UDP/ICMP error - désavantages
• Protocole UDP non fiable. Risque de conclure à un port
ouvert alors que la cible n’a pas reçu les paquets. Il faut
donc retransmettre plusieurs fois.
• La plupart des hôtes renvoient une erreur
ICMP_PORT_UNREACH quand vous envoyez un paquet à
un port UDP fermé. Mais techniquement, un port fermé
n’est pas obligé de renvoyer un message d’erreur.
• Scan très lent sur certains systèmes d’exploitations qui
respectent la RFC 1812 (limitation de la vitesse d’envoi
des messages d’erreur ICMP).
• Il faut être root pour accéder au SOCKET ICMP.

Formation PIRATAGE ETHIQUE 48


UDP recvfrom() and write() scanning
• Alors que les utilisateurs qui ne sont pas root ne peuvent
pas lire les erreurs de ports inaccessibles directement,
Linux peut informer l'utilisateur indirectement quand
elles ont été reçues.
• Exemples:
– un deuxième appel write() à un port fermé échouera
normalement.
– recvfrom() sur des non-blocking sockets UDP retourne EAGAIN
("Try Again", errno 13) si l'erreur ICMP n'a pas été reçue et
ECONNREFUSED ("Connection refused", errno 111) si elle a été
reçue.
• C'est la technique utilisée pour déterminer les ports
ouverts quand les utilisateurs qui ne sont pas root utilise
l'option -sU (UDP) avec nmap.
Formation PIRATAGE ETHIQUE 49
Ports sources spéciaux
• le protocole FTP s’attend à ce que toute communication
de données soit faite avec comme port source au niveau
serveur le port 20, et comme destination un port
quelconque côté client.
• Ceci est souvent pris en compte dans les règles de
firewall en incluant une règle, extrêmement dangereuse,
acceptant toute connexion entrante sur le réseau dont le
port source est 20.
• Ce type de règle est à proscrire; il est très facile de
choisir le port source d’une connexion et un firewall
arborant une telle règle est équivalent à pas de firewall
au niveau TCP.
• Des outils (nmap par exemple) permettent même de
positionner le port source de n’importe quelle
connexion
à une valeur donnée, sans besoin de modifier les
logiciels eux-mêmes.
Formation PIRATAGE ETHIQUE 50
Ports sources spéciaux
• Un autre port source souvent accepté en entrée, cette
fois-ci pour UDP, est le port 53, qui correspond à la
source d’une requête DNS.
• De nombreuses configurations de firewalls incluent par
facilité des règles telles que «accepter tout paquet vers
notre serveur DNS ayant comme port source 53 »,
exposant ainsi le serveur entier à des attaques sur des
services UDP autres que DNS.

Formation PIRATAGE ETHIQUE 51


Nmap
• Outil réseau
classique
• Balayage de ports
avancé
• Détection de
machines
• Détection des
services

Formation PIRATAGE ETHIQUE 52


Nmap: Options

Formation PIRATAGE ETHIQUE 53


OS Fingerprinting

Formation PIRATAGE ETHIQUE 54


OS fingerprinting
• La prise d'empreinte de la pile TCP/IP (TCP/IP stack
fingerprinting ou OS fingerprinting) est un procédé
permettant en informatique de déterminer l'identité du
système d'exploitation utilisé sur une machine distante en
analysant les paquets provenant de cet hôte.

Formation PIRATAGE ETHIQUE 55


OS fingerprinting
• Il y a deux types différents de fingerprinting:
– L'OS fingerprinting passif qui consiste à identifier le système
d'exploitation uniquement à l'aide des paquets qu'il reçoit et ce
en n'envoyant aucun paquet.
– L'OS fingerprinting actif qui, au contraire, envoie des paquets et
en attend les réponses (ou l'absence de réponses). Ces paquets
sont parfois formés de manière étrange car les différentes
implémentations des piles TCP/IP répondent différemment face à
de telles erreurs.
• Quelques outils de détection d'OS :
– Actif : nmap, xprobe, scapy,
– Passif : p0f (basé sur ouvertures de connexion TCP, paquets TCP
SYN), Scapy, Ethercap, le pare-feu Netfilter à partir du noyau
2.6.31 de Linux.

Formation PIRATAGE ETHIQUE 56


OS fingerprinting Active
• Identification d’OS = Détection d’OS = Fingerprinting
d’OS
• Envoyer activement des paquets de test et étudier
la
réponse de la machine
– En analysant très finement la structure des paquets TCP/IP
reçus, l'attaquant est capable de déterminer le système
d'exploitation de la machine distante ainsi que les versions des
applications associées aux ports.
– En analysant les données au niveau de la couche d’applications
(DCE RPC endpoints) pour raffiner la détection de versions /
éditions / service packs de Windows.

Formation PIRATAGE ETHIQUE 57


OS fingerprinting Active
• L’implémentation de la pile TCP/IP diffère selon les
systèmes d’exploitation.
• Les failles de sécurité sont souvent spécifiques à un
système d’exploitation ou à un groupe de systèmes
d’exploitation, et ceci en raison d’interprétations
différentes du contenu des RFC.
• L’analyse des différences entre les implémentations de la
pile TCP/IP permet d’identifier le système d’exploitation.
• La granularité obtenue actuellement dans certains
scanners est importante, allant même jusqu’à
l’identification des patchs installés en plus de la version
du système d’exploitation.
Formation PIRATAGE ETHIQUE 58
OS fingerprinting Active
• ICMP :
– Citation des messages d’erreur ICMP: Il faut inclure
une partie du message à l’origine de l’erreur. Certains
systèmes d’exploitation renvoient une plus grande
partie du message d’origine que d’autres.
– Intégrité des messages d’erreur ICMP: Certains
systèmes d’exploitation altèrent les en-têtes IP.
– Ping des adresses de Broadcast: Certains systèmes
d’exploitation (Comme Linux et Solaris) répondent,
d’autres (Comme Windows) ne répondent pas.

Formation PIRATAGE ETHIQUE 59


OS fingerprinting Active
• Test FIN: paquet FIN envoyé à un port ouvert. La
RFC 793 stipule qu’il ne faut pas y répondre. Certains
OS (BSDI, CISCO, HP/UX,…) renvoient un RST d’autres
(Comme Microsoft Windows
NT/2000/2003/2008/Vista/7) renvoient un FIN/ACK.
• Test SYN/FIN: Normalement un tel cas ne se produit
jamais. C’est pourquoi, lorsqu’un système d’exploitation
reçoit un paquet de ce type, il y répond d’une manière
prévisible mais spécifique, et c’est ce qui permet au
programme de déterminer le système d’exploitation
exécuté sur la machine.

Formation PIRATAGE ETHIQUE 60


OS fingerprinting Active
• Numéro de séquence initial (ISN): son choix dépend de
l’implémentation TCP.
• Taille de la fenêtre TCP initiale: plus ou moins constante
selon le type d’OS (16165 sur AIX, 16430 sur Windows,
OpenBSD et FreeBSD).
• Valeur de TTL (64 sur Linux, 128 sur Windows, 255 sur
Solaris, …)
• Options TCP:
– Toutes les machines ne les implémentent pas.
– Celles qui les implémentent le signalent en plaçant dans leur
réponse les options supportées parmi celles présentes dans le
message reçu.
Formation PIRATAGE ETHIQUE 61
OS fingerprinting Active:
Les tests de Nmap
Test envoyer paquet à un port avec les flags
T1 TCP TCP ouvert SYN, ECN-Echo
T2 TCP TCP ouvert aucun flag
T3 TCP TCP ouvert URG, PSH, SYN, FIN
T4 TCP TCP ouvert ACK
T5 TCP TCP fermé SYN
T6 TCP TCP fermé ACK
T7 TCP TCP fermé URG, PSH, FIN
PU UDP UDP fermé
TSeq TCP * 6 TCP ouvert SYN

Formation PIRATAGE ETHIQUE 62


Service DCE-RPC de Windows
• En envoyant une requête RPC au port 135 d’une machine
Windows, il est possible de déterminer quels services ou
programmes sont enregistrés

• La réponse inclut:
– UUID = ‘universal unique identifier’ pour chaque programme
– Nom annoté
– Protocole utilisé par chaque programme
– Adresse de réseau à laquelle le programme est lié
– Point final du programme (endpoint)

Formation PIRATAGE ETHIQUE 63


Service DCE-RPC de Windows
• Endpoints d’un Windows 2000 Édition professionnelle service
pack 0
– uuid="5A7B91F8-FF00-11D0-A9B2-00C04FB6E6FC"
annotation="Messenger Service"
• protocol="ncalrpc" endpoint="ntsvcs" id="msgsvc.1"
• protocol="ncacn_np" endpoint="\PIPE\ntsvcs" id="msgsvc.2"
• protocol="ncacn_np" endpoint="\PIPE\scerpc" id="msgsvc.3"
• protocol="ncadg_ip_udp" id="msgsvc.4"

– uuid="1FF70682-0A51-30E8-076D-740BE8CEE98B"
• protocol="ncalrpc" endpoint="LRPC" id="mstask.1"
• protocol="ncacn_ip_tcp" id="mstask.2"

– uuid="378E52B0-C0A9-11CF-822D-00AA0051E40F"
• protocol="ncalrpc" endpoint="LRPC" id="mstask.3"
• protocol="ncacn_ip_tcp" id="mstask.4"

Formation PIRATAGE ETHIQUE 64


Fingerprinting d’OS: Exemple de Nmap

Formation PIRATAGE ETHIQUE 65


OS Fingerprinting passive
• Il n’est pas détectable, puisque dans ce mode l’on se
contente d’écouter (sniffing) les paquets que notre
machine reçoit.
• Liste non exhaustive des outils utilisés pour ce type de
détection:
– P0f
– ethercap

Formation PIRATAGE ETHIQUE 66


p0f
• p0f (« passive OS fingerprinting ») est un logiciel permettant de
faire de la détection de systèmes d’exploitation de manière
passive, par écoute du réseau.
• Il analyse les trames transitant sur le réseau (le segment analyse)
et les compare avec une base de données des caractéristiques de
chaque OS (prise d’empreintes) afin d’en retrouver l’OS
correspondant:
– détection de la présence d’un firewall et NAT ;
– détection d’un load balancer (répartiteur de charge réseau) ;
– détection de la distance (TTL) de la machine distante ainsi que depuis
combien de temps la machine est démarrée.
• p0f est totalement passif. Il ne génère aucun trafic réseau
supplémentaire puisqu'il ne fait qu'analyser le trafic réseau.

Formation PIRATAGE ETHIQUE 67


p0f

Formation PIRATAGE ETHIQUE 68


Analyse applicative des ports ouverts
• Afin d’optimiser les chances de succès de l’intrusion, le
pirate détermine les versions précises des services
ouverts qu’il a pu trouver grâce au scanning.
• Pour se faire, il corrèle les résultats de la découverte du
système d’exploitation (méthodes précédentes) avec des
analyses niveau application des bannières présentes sur
les ports ouverts.
• En effet, les services répondent souvent aux clients qui
se connectent par une bannière d’identification,
donnant type et version du service.

Formation PIRATAGE ETHIQUE 69


Analyse applicative des ports ouverts:
Banner Grabbing
• Telnet est un programme fourni avec la plupart des systèmes
d’exploitation qui permet de se connecter à un port spécifique
d’une machine de destination.
• Avec telnet, un attaquant se connecte à un port ouvert et appuie
deux fois sur la touche Entrée.
• Par exemple, la connexion au port 21 d’une machine donne le
résultat suivant :
[root@secway /] telnet alyssa 21
Trying 192.168.1.18...
Connected to alyssa.
Escape character is '^]'.
220 alyssa (vsFTPd
2.0.1) server (SunOS
4.1) ready.
La bannière affichée indique non seulement un serveur FTP, mais
aussi la version du système
Formation PIRATAGE ETHIQUE 70
Analyse applicative des ports ouverts:
Banner Grabbing
• De la même manière, si aucune bannière n’est affichée, nous pouvons
déduire ces informations de la réponse du serveur à une requête
classique.
[root@secway /]# telnet hera 8123
Trying 192.168.1.14...
Connected to hera.
Escape character is '^]'.
HEAD / HTTP/1.0
HTTP/1.1 200 OK
Date: Tue, 06 Mar 2001
18:02:21 GMT
Server: Apache/1.3.12 Ben-SSL/1.40 (Unix) PHP/4.0.1pl2 FrontPage/4.0.4.3
Last-Modified: Mon, 20 Sep 1999 15:25:36 GMT
ETag: "555cf-f08-37e651f0"
Accept-Ranges: bytes
Content-Length: 3848
Connection: close
!content-type:!
text/html
• Le port 8123 du
serveur hera est
dans ce cas un Formation PIRATAGE ETHIQUE 71
Analyse applicative des ports ouverts:
Techniques diverses
• La technique de mail-bounce décrite dans la phase de
collecte d’information peut aussi être reprise pour
obtenir les versions des serveurs Mail utilisés.
• Certains services ont pour fonction première de fournir
des informations. C’est le cas de SNMP,
finger…
• Un pirate peut obtenir des MIB standards d’un serveur
SNMP (souvent accessibles en lecture seule avec des
noms de communautés par défaut tels que « public », «
cisco ») des données comme: le nombre et la nature des
interfaces réseaux de l’équipement, la version du
système, le nombre d’utilisateurs connectés, les
adresses ARP des cartes, …
Formation PIRATAGE ETHIQUE 72
Scanners de vulnérabilité

Formation PIRATAGE ETHIQUE 73


Faiblesses: Vulnérabilité, facteur humain
• vulnérabilité
– faiblesse de la sécurité d’une cible d’évaluation (défaut dans
l’analyse, la conception, la réalisation ou l’exploitation)
• Ingénierie sociale:
– L’attaque ne se fait plus par élément technique mais par
facteur humain (qui est le maillon faible) où la victime a
tendance naturelle à faire confiance.
– La méthode la plus simple consiste à appeler la victime en se
prenant pour l’administrateur et lui demander son mot de
passe ou son numéro de carte de crédit.
– Méthodes par email: Phishing par exemple.

Formation PIRATAGE ETHIQUE 74


Exploit
• Terme courant qui désigne une description précise et
publique d'une méthode pour attaquer un système en
profitant d'une faille de sécurité spécifique.
• Souvent, des programmes pirates regroupent de
nombreux exploits.
• Ces outils pirates sont généralement utilisés par
des
jeunes pirates, couramment dénommés "script-
kiddies ".

Formation PIRATAGE ETHIQUE 75


Sites de recherche de vulnérabilité
• www.microsoft.com/security
• www.cert.org/kb
• nvd.nist.gov
• www.securitytracker.com
• www.securiteam.com
• www.packetstormsecurity.com
• www.hackerstorm.com
• www.hackerwatch.com
• www.securityfocus.com
• www.securitymagazine.com
Formation PIRATAGE ETHIQUE 76
Sites de recherche de vulnérabilité

Formation PIRATAGE ETHIQUE 77


Les scanners de vulnérabilités
• En sécurité informatique, un scanner de vulnérabilité est
un programme conçu pour chercher et cartographier les
machines qui possèdent des vulnérabilités dans une
application, un système d'exploitation, ou un réseau.
• Exemple d'outils:
– Nmap
– Nessus
– Snort
– Bidiblah
– SAINT
– GFI LANGuard
– SATAN
– Retina
– Metasploit

Formation PIRATAGE ETHIQUE 78


Nessus
• Nessus est un outil de sécurité informatique.
• Il signale les faiblesses potentielles ou avérées sur les
machines testées.
• Ceci inclut, entre autres:
– les services vulnérables à des attaques permettant la prise de contrôle de la
machine, l'accès à des informations sensibles (lecture de fichiers
confidentiels par exemple), des dénis de service...
– les fautes de configuration (relais de messagerie ouvert par exemple)
– les patchs de sécurité non appliqués, que les failles corrigées soient
exploitables ou non dans la configuration testée
– les mots de passe par défaut, quelques mots de passe communs, et
l'absence de mots de passe sur certains comptes systèmes. Nessus peut
aussi appeler le programme externe Hydra pour attaquer les mots de passe
à l'aide d'un dictionnaire.
– les services jugés faibles (on suggère par exemple de remplacer Telnet par
SSH)
– les dénis de service contre la pile TCP/IP

Formation PIRATAGE ETHIQUE 79


Nessus

Formation PIRATAGE ETHIQUE 80


L’établissement
de la carte du réseau
(Draw the Blueprint of the target)

Formation PIRATAGE ETHIQUE 81


L’établissement de la carte du réseau
• A présent qu’un attaquant a obtenu les informations
nécessaires, il ne lui reste plus qu’à établir la carte du
réseau afin de déterminer la meilleure manière de s’y
introduire.
• Il dispose pour réaliser cette tâche de moyens manuels ou
automatiques.

Formation PIRATAGE ETHIQUE 82


Cheops

Formation PIRATAGE ETHIQUE 83


Friendly Pinger

Formation PIRATAGE ETHIQUE 84


LANSurveyor

Formation PIRATAGE ETHIQUE 85


Firewalking
• Cette technique, dérivée de traceroute, consiste à envoyer
des paquets IP dont on incrémente successivement le TTL.
Les réponses reçues nous donnent toutes les passerelles
entre notre source et la machine destination.
• Le firewalking consiste aussi à faire varier les protocoles
véhiculés par les paquets IP de test pour être par exemple
acceptés par un firewall, la décision d'acceptation se
faisant souvent sur le protocole de transport (TCP ou UDP
vers le port donné d'une adresse IP donnée).

Formation PIRATAGE ETHIQUE 86


Firewalking
• Le pirate est capable d'obtenir une cartographie précise
d'une zone protégée par un firewall, et de déterminer les
règles d'accès de ce firewall.

Formation PIRATAGE ETHIQUE 87


Exemple de Firewalk
• Dans cet exemple,
firewalk a pu
franchir les règles de
filtrage sur la
passerelle de la
destination.
• En plus, il a trouvé
les ports ouverts
suivants:
- Port 22 (SSH)
- Port 25 (SMTP)
- Port 80 (HTTP)

Formation PIRATAGE ETHIQUE 88


Conclusion
et
Contre-mesures

Formation PIRATAGE ETHIQUE 89


Bilan de la collecte d’informations
• Un attaquant ne se contente pas de diriger une attaque
contre un système. Il lui faut consacrer du temps pour se
familiariser avec ce qu’il va attaquer.
• En limitant les informations qu’elle diffuse, une entreprise
compliquera la tâche de celui qui veut attaquer ses
systèmes et diminuera sa visibilité en tant que cible.
– Il faut se rappeler qu'il est nécessaire de posséder un
enregistrement de domaine et que les données doivent être
valides car elles peuvent servir à des gens pour contacter
l'entreprise.
• A l’heure actuelle, tant de sites possèdent une sécurité
minimale, voire pas de sécurité du tout, que si un réseau
paraît plus difficile à attaquer, il aura des chances d’être
épargné.
Formation PIRATAGE ETHIQUE 90
Contre-mesures
• Pour les informations de contact dans Whois, il faut
utiliser un titre générique accompagné d'un numéro de
téléphone plutôt que de donner le nom d'une personne.
– Inscrire ce numéro en mentionnant un nom et un email fictifs
– Si quelqu'un téléphone et prononce le nom de la personne
fictive, cela doit immédiatement déclencher l'alerte.
– Ainsi, un attaquant ne peut pas s'en servir pour une attaque par
ingénierie sociale.

Formation PIRATAGE ETHIQUE 91


Contre-mesures (suite)
• Pour vos échanges dans les listes de discussion, utilisez un
titre et un nom fictif qui n'ont aucune relation avec votre
vie professionnelle.
• Créez des adresses de messagerie dédiées à vos
inscriptions aux newsletters et à vos échanges dans les
listes de discussion.
– Profitez des messageries gratuites qui vous offrent ce service
(yahoo, hotmail, gmail,…).
• Divisez le DNS en deux zones (externe et interne)
– Un attaquant ne peut qu'accéder au serveur DNS externe et
n'obtient qu'un minimum d'informations.

Formation PIRATAGE ETHIQUE 92


Contre-mesures (suite)
• Placez toutes les machines et tous les dispositifs réseau
derrière un pare-feu en leur attribuant une adresse
privée.
– Bien configurer le pare-feu pour qu'il bloque le trafic pour ne
l'autoriser que sur certains ports et vers certaines machines
– Toute adresse mentionnée dans le DNS doit être statiquement
mappée via le pare-feu, avec un seul port autorisé pour les
communications (exemple port 25 pour le serveur mail)
– L'attaquant n'a qu'une vue limitée du réseau. Cela limite la
valeur de l'information et les dommages potentiels qu'un
attaquant peut causer.

Formation PIRATAGE ETHIQUE 93


Contre-mesures (suite)
• Utiliser un IDS pour bloquer les méthodes de détection
des OS utilisées par des outils comme nmap.
• Cacher ou camoufler les bannières des services:
– Commencez par faire l'inventaire de vos applications critiques
puis recherchez le moyen approprié de désactiver la
présentation du nom d'éditeur du logiciel.
– Vérifiez régulièrement votre propre réseau au moyen de
balayages systématiques de ports et de connexions brutes
netcat sur des ports actifs pour vous assurer que vous ne cédez
pas d'informations à vos ennemis.

Formation PIRATAGE ETHIQUE 94

Vous aimerez peut-être aussi