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