Scanner les ports avec nmap

Transcription

Scanner les ports avec nmap
HEYROOT.ME
Scanner les ports avec nmap
Version
1.0
1.1
Date
10/01/2015
22/11/2015
Révision
Initiation du document
Ajout des scans de versions et des
« options bien pratiques ».
Auteur
Shura
Shura
HEYROOT.ME
Description
L'outil indispensable de tout administrateur système et réseau ou d'auditeur sécurité lors
du pentest d'un système est le scanneur de ports. Incontestablement nmap est l'outil
incontournable pour détecter les ports ouverts, fermés et filtrés ou non par un pare-feu.
Nous allons aborder les différents types de scans.
Les différents états
Abordons les différents états d'un port :
■ Ouvert : le port est ouvert et une application écoute.
■ Fermé : le port est fermé aucune application n'écoute.
■ Filtré : le port est ouvert ou fermé, mais un filtre nous empêche d'y accéder
(probablement un parefeu).
■ Non filtré : le port est ouvert ou fermé et aucun filtre nous empêche d'y accéder.
Le scan TCP SYN
C'est le scan le plus couramment utilisé, c'est celui par défaut de nmap. Il est aussi appelé
« Half Open scan » car il n'établit pas pleinement la connexion TCP. Il permet de plus une
différenciation fiable entre les états ouvert, fermé et filtré. Si aucune réponse n'est reçue
après plusieurs essais, le port est considéré comme étant filtré. Il ne s'encombre pas à
envoyer un ACK à chaque réponse positive. Un seul paquet est envoyé e qui fait de lui un
scan rapide.
# nmap X.X.X.X
Ou
# nmap -sS X.X.X.X
24 novembre 2014
2
HEYROOT.ME
Le scan TCP connect
Même principe que TCP SYN scan, sauf que cette fois la connexion est terminée en cas de
port ouvert. Il peut donc laisser davantage de traces dans les logs. A noter qu'il y a un
paquet supplémentaire d'envoyer ce qui fait qu'il est légèrement plus lent.
# nmap -sT X.X.X.X
Le scan TCP FIN
Ce scan permet de déterminer si un port et soit fermé, soit ouvert ou filtré. Il utilise la RFC
TCP qui dit que si le port est fermé et qu'un paquet n'ayant pas de drapeau RST provoque
en réponse l'émission d'un paquet RST. A noter, il permet de déjouer certains dispositif de
filtrage ou routeur filtrants sans état de connexion, car ces types de scan n'ont pas un
comportement de connexion normal. A noter qu'il ne fonctionnera pas avec certains
systèmes tels que Microsoft Windows qui ne respecte pas la RFC.
# nmap -sF X.X.X.X
24 novembre 2014
3
HEYROOT.ME
Comme vous le voyez, ce scan ne peut pas faire la différence entre un port filtré ou ouvert.
Le scan TCP NULL
Même principe que le TCP FIN scan, sauf que cette fois ce sont tous les drapeaux qui sont
mis à 0.
# nmap -sN X.X.X.X
24 novembre 2014
4
HEYROOT.ME
Le scan TCP Xmas
Même principe que les deux précédents scans, avec cette fois l'activation des drapeaux
URG, PUSH et FIN.
# nmap -sX X.X.X.X
Le scan TCP ACK
Il est utilisé pour détecter la présence d'un pare-feu sur la machine cible ou entre la
machine cible et la machine de scan. Nous ne saurons pas si les ports sont ouverts ou
fermé, mais s'ils sont filtrés ou non.
# nmap -sA X.X.X.X
24 novembre 2014
5
HEYROOT.ME
Le scan UDP
Le scan UDP envoie une en-tête UDP, 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é. Si un paquet UDP est retourné
(coup de chance) alors il sera ouvert, sinon si aucune réponse n'est retournée il sera soit
ouvert, soit filtré.
# nmap -sU X.X.X.X
Les scans de versions
Version des systèmes d’exploitation
L’option –O permet d’activer la détection du système d’exploitation. Cette option n’est pas
spécialement fiable à 100%, cependant elle donne de bonnes estimations cotées en
pourcentage.
# nmap –O X.X.X.X
La détection peut devenir plus agressive en utilisant l’option --osscan-guess ou son
équivalente --fuzzy.
# nmap –O –-fuzzy X.X.X.X
Version des services
Il est possible de lancer la détection de versions des services en écoute avec l’option -sV.
# nmap –sV X.X.X.X
L’option --version-all permettra de forcer tous les tests unitaires à chaque port.
# nmap –sV –-version-all X.X.X.X
Quelques options bien pratiques
Scan sans ping
Si le système ou l’équipement cible ne répond pas au ping (ce qui est très courant) le scan
de port ne se lancera pas avec la configuration par défaut de nmap. Vous pouvez désactiver
le ping au lancement du scan avec l’option –Pn.
# nmap –Pn X.X.X.X
Les 65535 ports
L’option –p- permet de scanner les 65535 ports d’un hôte, c’est un raccourci bien pratique
pour les fainéants.
# nmap –p 1-65535 X.X.X.X
Ou
# nmap –p- X.X.X.X
24 novembre 2014
6
HEYROOT.ME
Le mode verbeux
Il est possible d’activer le mode verbeux d’nmap avec l’option –v, -vv et –vvv pour
augmenter la verbosité. Cette option permettra par exemple d’’afficher les ports ouverts
au fur et à mesure de la progression du scan sans attendre la fin. C’est utile lorsque le
scan est long (matériel ou réseau sous dimensionné, plusieurs hôtes, -p-, firewall, etc.) et
que l’on souhaite analyser les premiers résultats dès que possible.
# nmap –vvv X.X.X.X
Sauvegarde des résultats
Les options –oN, -oX, -oS et -oG permettent respectivement de sauvegarder les résultats
du scan dans un fichier normal, XML, s|<rIpt kIddi3 et Grepable format.
# nmap X.X.X.X –oN file.txt
24 novembre 2014
7