INSTITUT DE SECURITE-INFORMATIQUE AVANCEE
Certified Ethical Hacking
MODULE 03
SCANNING NETWORK
M. Daniel ASSI
225-07-57-35-37-66 / 225-07-48-60-85-78
SCANNING NETWORK
Scanner les systèmes sur le réseau (il peut s'agir d'hôtes, de commutateurs, de serveurs, de routeurs,
de pare-feu, etc.) et examiner des ports ouverts ainsi que des applications/services et de leurs versions
respectives qui peuvent être en cours d'exécution.
En général, l'analyse du réseau a trois objectifs principaux :
1. Recherche d'appareils en direct, d'OS, d'IP en cours d'utilisation.
2. Recherche de ports ouverts/fermés.
3. Recherche de vulnérabilités sur les services scannés.
Communication sans connexion - Les paquets UDP sont envoyés sans créer de connexion. Les
exemples sont TFTP, DNS (recherches uniquement) et DHCP
Communication orientée connexion - Les paquets TCP nécessitent une connexion en raison de la
taille des données transmises et pour garantir la délivrabilité
Méthodologie de Scanning
• Vérifier les systèmes en direct - Ping ou autre type de moyen pour déterminer les hôtes en
direct
• Vérifiez les ports ouverts - Une fois que vous connaissez les IP hôtes en direct, analysez-les
pour les ports d'écoute
• Scan au-delà de l'IDS - Si nécessaire, utilisez des méthodes pour scanner au-delà des
systèmes de détection ; échapper à l'IDS à l'aide de proxys, d'usurpation d'identité, de paquets
fragmentés, etc.
• Effectuer une capture de bannière - Récupérer des serveurs et effectuer des empreintes
digitales du système d'exploitation (versions des services en cours d'exécution)
• Rechercher les vulnérabilités - Utilisez des outils pour examiner les vulnérabilités des
systèmes ouverts
• Dessiner des diagrammes de réseau - Affiche les chemins logiques et physiques dans les
réseaux
• Utiliser des procurations - Obscurcit les efforts pour vous garder caché
• Rapport Pentest - Documentez tout ce que vous trouvez
Identifier les cibles
• Le moyen le plus simple de rechercher des systèmes actifs consiste à utiliser ICMP.
• Il a ses défauts et est parfois bloqué sur les hôtes qui sont réellement en direct.
• Types de messages et retours
• La charge utile d'un message ICMP peut être n'importe quoi,
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 2
• Balayage ping - méthode la plus simple pour identifier plusieurs hôtes sur le sous-
réseau. Vous pouvez automatiser le balayage ping avec un langage de script comme
Bash Script (Linux) ou PowerShell (Windows) ou utiliser des logiciels comme
Advanced IP Scanner, Angry IP Scanner, Nmap, etc.
• Analyse d' écho ICMP - envoi d'une requête d'écho ICMP à l'adresse IP du réseau
• Un retour ICMP de type 3 avec un code de 13 indique un pare-feu mal configuré
• Outils d'analyse de ping
• Nmap
• nmap -sn [Link]/24
Cela effectuera un balayage ping sur 256 adresses IP sur ce sous-réseau en quelques secondes,
indiquant quels hôtes sont actifs.
• hping3
• Angry IP Scanner
• Solar Winds
• Advanced IP Scanner
• Nmap effectue pratiquement toujours un balayage ping avec les analyses, sauf si vous
le désactivez
• Codes ICMP importants
Type de message Description et codes
ICMP
0 : Réponse en écho Réponse à une demande d'écho de type 8
3 : Destination Message d'erreur suivi de ces codes :
inaccessible 0 - Réseau de destination inaccessible
1 - Hôte de destination inaccessible
6 - Réseau inconnu
7 - Hôte inconnu
9 - Réseau interdit par l'administration
10 - Hôte interdit par l'administration
13 - Communication interdite par l'administration
4 : Extinction de la Un message de contrôle de congestion
source
5 : Rediriger Envoyé lorsque deux passerelles ou plus sont disponibles pour
l'expéditeur. Suivi de ces codes :
0 - Datagramme de redirection pour le réseau
1 - Datagramme de redirection pour l'hôte
8 : Demande d'écho Un message ping, demandant une réponse en écho
11 : Temps dépassé Le paquet a pris trop de temps pour être acheminé (le code 0 est
TTL expiré)
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 3
Découverte de ports - Concepts de base
Frapper à la porte :
• Le pirate ci-dessus envoie un paquet SYN au port 80 sur le serveur.
• Si le serveur renvoie le paquet SYN-ACK = le port est ouvert
• Si le serveur renvoie le paquet RST (réinitialisation) = le port est fermé
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 4
Vérifier si le pare-feu avec état est présent :
• Le pirate ci-dessus envoie un segment/paquet ACK lors de la première interaction.
• Si le serveur ne renvoie aucune réponse, cela signifie qu'un pare-feu avec état peut
gérer les sessions appropriées
• Si le serveur renvoie le paquet RST, cela signifie qu'il n'a pas de pare-feu avec état
• Indicateurs TCP :
Drapeau Nom Une fonction
SYN Synchroniser Défini lors de la communication initiale. Négociation des paramètres
et des numéros de séquence
ACK Reconnaissan Définir comme un accusé de réception pour le drapeau SYN.
ce Toujours défini après le SYN initial
TVD Réinitialiser Force la terminaison d'une connexion (dans les deux sens)
AILETT Finir Commandé à proximité des communications
E
PSH Pousser Force la livraison des données sans se soucier de la mise en mémoire
tampon
URG Urgent Les données à l'intérieur sont envoyées hors bande. L'exemple
annule un message
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 5
• ☞ Le TCP Three-way handshake :
Types d'analyse Nmap :
Analyse furtive
Balayage semi-ouvert ou balayage SYN - seuls les paquets SYN sont envoyés. Réponses identiques
à complètes.
• Utile pour dissimuler les efforts et échapper aux pare-feu
• nmap -sS <target IP>
Connexion complète
Connexion TCP ou analyse ouverte complète. Les deux premières étapes (SYN et SYN/ACK) sont
exactement les mêmes que pour un scan SYN. Ensuite, au lieu d'interrompre la connexion semi-
ouverte avec un paquet RST, Krad accuse réception du SYN/ACK avec son propre paquet ACK,
complétant ainsi la connexion.
• Connexion complète puis démontage avec RST.
• Le plus facile à détecter, mais le plus fiable
• nmap -sT <target IP>
Balayage TCP ACK / sonde d'indicateur - plusieurs méthodes
• Version TTL - si TTL du paquet RST < 64, le port est ouvert
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 6
• Version de fenêtre - si la fenêtre sur le paquet RST est autre que 0, le port est ouvert
• Peut être utilisé pour vérifier le filtrage. Si ACK est envoyé et aucune réponse, un pare-
feu avec état est présent.
• nmap -sA <target IP> (balayage ACK)
• nmap -sW <target IP> (Balayage de fenêtre)
Analyse NULL, FIN, XMAS
Utilise le drapeau FIN, URG ou PSH.
• Open ne donne aucune réponse. Fermé donne RST/ACK
• nmap -sN <target IP> (Analyse nulle)
• nmap -sF <target IP> (balayage FIN)
• Xmas Scan - Définit les drapeaux FIN, PSH et URG, éclairant le paquet comme un arbre de
Noël.
• Les réponses sont les mêmes que pour l'analyse TCP inverse
• Ne fonctionne pas avec toutes les machines Windows
• nmap -sX <target IP>
Le principal avantage de ces types d'analyse (analyse NULL, FIN ou Xmas) est
qu'ils peuvent se faufiler à travers certains pare-feu et routeurs de filtrage de
paquets.
Balayage au repos
Utilise un tiers pour vérifier si un port est ouvert
• Regarde l'IPID pour voir s'il y a une réponse
• Ne fonctionne que si un tiers ne transmet pas de données
• Envoie une demande au tiers pour vérifier l'ID IPID ; envoie ensuite un paquet usurpé à la
cible avec un retour du tiers ; envoie à nouveau une demande au tiers pour vérifier si l'IPID a
augmenté.
• L'augmentation de l'IPID de 1 indique que le port est fermé
• L'augmentation de l'IPID de 2 indique que le port est ouvert
• Une augmentation de l'IPID supérieure indique que le tiers n'était pas inactif
• nmap -sI <zombie host> <target IP>
Usurpation
• Leurre :
• nmap -Pn -D <spoofed IP> <target>
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 7
• Cela effectuera une analyse ping usurpée.
• Usurpation d'adresse source :
• nmap -e <network interface> -S <IP source> <target>
• Exemple -->nmap -e eth0 -S [Link] [Link]
• Usurpation d'adresse MAC :
• nmap --spoof-mac <MAC|Vendor> <target>
• Exemple -->nmap --spoof-mac Cis [Link]
Les leurres enverront une adresse IP usurpée avec votre adresse IP.
Contournement du pare-feu
• Adresses IP leurres multiples :
• Cette commande est utilisée pour analyser plusieurs adresses IP leurres. Nmap
enverra plusieurs paquets avec différentes adresses IP, ainsi que l'adresse IP de
votre attaquant.
• nmap -D RND:<number> <target>
• Exemple -->nmap -D RND:10 [Link]
• Fragmentation IP :
• Utilisé pour analyser de minuscules paquets de fragments
• nmap -f <target>
• Unité de transmission maximale :
• Cette commande est utilisée pour transmettre des paquets plus petits au lieu d'envoyer
un paquet complet à la fois.
• nmap -mtu 8 <target>
• Maximum Transmission Unit (-mtu) et 8 octets de paquets.
Synchronisation et performances
• Paranoïaque
• Paranoïaque (0) Évasion du système de détection d'intrusion
• nmap <target> -T0
• Sournois
• Évasion sournoise (1) du système de détection d'intrusion
• nmap <target> -T1
• Poli
• Poli (2) ralentit l'analyse pour utiliser moins de bande passante et utiliser moins de
ressources de la machine cible
• nmap <target> -T2
• Normal
• Normal (3) qui est la vitesse par défaut
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 8
• nmap <target> -T3
• Agressif
• Balayages agressifs (4) vitesses ; suppose que vous êtes sur un réseau raisonnablement
rapide et fiable
• nmap <target> -T4
• Insensé
• Fou (5) accélère le balayage ; suppose que vous êtes sur un réseau extraordinairement
rapide
• nmap <target> -T5
Analyse UDP
Les services les plus populaires fonctionnent sur TCP, mais il existe de nombreux services communs
qui utilisent également UDP : DNS (53), SMTP (25), DHCP (67), NTP (123), NetBIOS-ssn (137),
etc.
• nmap -sU <target>
Vous pouvez également spécifier quel port UDP :
• nmap -sU -p 53, 123 <target>
Vous pouvez également lancer l'analyse TCP et UDP avec la spécification du port :
• nmap -sU -sS -p U:53,123 T:80,443 <target>
Liste des commutateurs
Changer La description
-sA Analyse ACK
-sF Balayage FIN
-sI Balayage INACTIF
-sL Analyse DNS (analyse de liste)
-sN Analyse NULLE
-sO Balayage de protocole (teste quels protocoles IP répondent)
-sPou-sn Balayage ping
-sR Analyse RPC
-sS Balayage SYN
-sT Analyse de connexion TCP
-sW Balayage de fenêtre
-sX Numérisation Xmas
-O Détection de système d'exploitation, détection de version, analyse de script et
traceroute
-sV Déterminer uniquement les informations de service/version
-PI Ping ICMP
-Pn Pas de ping
-Po Pas de ping
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 9
-PS Ping SYN
-PT Ping TCP
-oN Sortie normale
-oX Sortie XML
-n Ne jamais faire de résolution DNS/Toujours résoudre
-f --mtu : fragments de paquets (éventuellement avec MTU donné)
-D Leurre d'adresse IP: <decoy1,decoy2[,ME],...> : masquez un scan avec des
leurres
-T0 par -T2 Numérisations en série. T0 est le plus lent
-T3 par -T5 Balayages parallèles. T3 est le plus lent
-F Mode rapide - Analysez moins de ports que l'analyse par défaut
Remarques :
• Nmap s'exécute par défaut au niveau T3 (3 - Normal).
• Nmap exécute par défaut des scans TCP.
• Nmap envoie un ping à la cible avant l'analyse du port par défaut, mais si la cible a un pare-
feu, l'analyse sera peut-être bloquée.
• Pour éviter cela, vous pouvez utiliser -Pn pour désactiver le ping.
• Si vous êtes en LAN et que vous devez désactiver le ping ARP, utilisez:
• --disable-arp-ping
• Vous pouvez ajouter une entrée à partir de listes externes d'hôtes/réseaux:
• -iL [Link]
• Empreinte digitale - un autre mot pour le balayage et l'énumération des ports
Plus d'informations utiles sur Nmap :
Changer Exemple La description
-p nmap [Link] -p 21 Balayage de port pour le port x
-p nmap [Link] -p 21-100 Plage de ports
-p nmap [Link] -p U:53,T:21- Balayage de ports sur plusieurs ports TCP et
25,80 UDP
-p- nmap [Link] -p- Scanne tous les ports
-p nmap [Link] -p http, https Balayage de port à partir du nom du service
-F nmap [Link] -F Balayage rapide des ports (100 ports)
--top- nmap [Link] --top-ports 2000 Port scanne les x premiers ports
ports
-p-65535 nmap [Link] -p-65535 Laisser le port initial dans la plage
fait démarrer l'analyse au port 1
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 10
-p0- nmap [Link] -p0- Laisser le port de fin dans la plage
fait passer le scan sur le port 65535
2. Détection de service et de version
Changer Exemple La description
-sV nmap [Link] -sV Tente de déterminer la version du service en
cours d'exécution sur le port
-sV --version- nmap [Link] -sV -- Niveau d'intensité de 0 à 9. Un nombre plus
intensité version-intensité 8 élevé augmente la possibilité d'exactitude
-sV --version- nmap [Link] -sV -- Activer le mode lumière. Faible possibilité
lumière version-light d'exactitude. Plus rapide
-sV --version-all nmap [Link] -sV -- Activer le niveau d'intensité 9. Plus grande
version-all possibilité d'exactitude. Ralentissez
-UNE nmap [Link] -A Active la détection du système d'exploitation, la
détection de la version, l'analyse des scripts et
le traceroute
3. Détection du système d'exploitation
Changer Exemple La description
-O nmap [Link] -O Détection du système d'exploitation à distance à
l'aide de l'
empreinte de la pile TCP/IP
-O --osscan- nmap [Link] -O -- Si au moins un port TCP ouvert et un
limit osscan-limit port TCP fermé ne sont pas trouvés, il n'essaiera pas
de
détecter le système d'exploitation contre l'hôte.
-O --osscan- nmap [Link] -O -- Rend Nmap deviner plus agressivement
devine osscan-guess
-O --max-os- nmap [Link] -O -- Définir le nombre maximal x de
essais max-os-tries 1 tentatives de détection du système d'exploitation
contre une cible
-UNE nmap [Link] -A Active la détection du système d'exploitation, la
détection de la version, l'analyse des scripts et le
traceroute
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 11
4. Calendrier et performances
Changer Exemple La description
d'entrée
--host-timeout <heure> 1s ; 4m; 2h Abandonner la cible après cette durée
--min-rtt-timeout/max-rtt- 1 s ; 4m; 2h Spécifie le temps d'aller-retour de la
timeout/initial-rtt-timeout <heure> sonde
--min-hostgroup/max-hostgroup 50; 1024
<taille<taille> Tailles des groupes d'analyse d'hôtes
parallèles
--min-parallelism/max-parallelism dix; 1 Parallélisation des sondes
<numprobes>
--scan-delay/--max-scan-delay 20 ms ; 2s; 4m; Ajuster le délai entre les sondes
<heure> 5h
--max-retries <essais> 3 Spécifiez le nombre maximal
de retransmissions de sondes d'analyse
de port
--min-rate <nombre> 100 Envoyer des paquets pas plus lents
que <numberr> par seconde
--max-rate <nombre> 100 Envoyer des paquets pas plus vite que
<nombre> par seconde
5. Scripts NSE
NSE signifie Nmap Scripting Engine, et il s'agit essentiellement d'une bibliothèque numérique de
scripts Nmap qui aide à améliorer les fonctionnalités Nmap par défaut et à rapporter les résultats dans
une sortie Nmap traditionnelle.
L'une des meilleures choses à propos de NSE est sa capacité à permettre aux utilisateurs d'écrire et
de partager leurs propres scripts, de sorte que vous n'êtes pas limité à vous fier aux scripts NSE par
défaut de Nmap.
Changer Exemple La description
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 12
-sC nmap [Link] -sC Analysez avec les scripts NSE par défaut.
Considéré comme utile pour la
découverte et sécuritaire
--script par nmap [Link] --script par défaut Analysez avec les scripts NSE par défaut.
défaut Considéré comme utile pour la
découverte et sécuritaire
--scénario nmap [Link] --script=bannière Numérisez avec un seul script. Exemple
de bannière
--scénario nmap [Link] --script=http* Numériser avec un caractère générique.
Exemple http
--scénario nmap [Link] -- Numérisez avec deux scripts. Exemple
script=http,bannière http et bannière
--scénario nmap [Link] --script "non Analyse par défaut, mais supprime les
intrusif" scripts intrusifs
--script-args nmap --script snmp-sysdescr --script- Script NSE avec arguments
args snmpcommunity=admin
[Link]
Exemples de script NSE utiles
Commandes La description
nmap -Pn --script=http-sitemap-generator [Link] Générateur de plan de site http
nmap -n -Pn -p 80 --open -sV -vvv --script banner,http-title -iR Recherche rapide de serveurs
1000 Web aléatoires
nmap -Pn --script=dns-brute [Link] Brute force les noms d'hôtes
DNS à deviner les sous-
domaines
nmap -n -Pn -vv -O -sV --script smb-enum*,smb-ls,smb- Scripts SMB sûrs à exécuter
mbenum,smb-os-discovery,smb-s*,smb-vuln*,smbv2* -vv
[Link]
nmap --script whois* [Link] Requête Whois
nmap -p80 --script http-unsafe-output-escaping Détecter les vulnérabilités de
[Link] cross site scripting
nmap -p80 --script http-sql-injection [Link] Vérifier les injections SQL
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 13
hping
Hping3 est un programme scriptable qui utilise le langage Tcl, dans lequel les paquets peuvent être
reçus et envoyés via une représentation binaire ou chaîne décrivant les paquets.
• Un autre puissant outil de balayage de ping et d'analyse de port
• Peut également créer des paquets UDP/TCP
• Vous pouvez faire une inondation TCP
• hping3 -1 adresse IP
Changer La description
-1 Définit le mode ICMP
-2 Définit le mode UDP
-8 Définit le mode de numérisation. Attend une plage de ports sans indicateur -p
-9 Mode d'écoute. Attend une signature (par exemple HTTP) et une interface (-I eth0)
-- Envoie les paquets aussi vite que possible sans afficher les réponses entrantes
inondation
-Q Collecte les numéros de séquence générés par l'hôte
-p Définit le numéro de port
-F Définit le drapeau FIN
-S Définit le drapeau SYN
-R Définit le drapeau RST
-P Définit le drapeau PSH
-A Définit le drapeau ACK
-U Définit le drapeau URG
-X Définit les drapeaux d'analyse XMAS
Concepts d'évasion
• Pour échapper à l'IDS, vous devez parfois changer la façon dont vous numérisez
• Une méthode consiste à fragmenter les paquets (commutateur nmap -f)
• Empreintes digitales du système d'exploitation
• Actif - envoi de paquets spécialement conçus à la cible
• Passif - renifle le trafic réseau pour des éléments tels que les fenêtres TTL, les
drapeaux DF et les champs ToS
• Spoofing - ne peut être utilisé que lorsque vous n'attendez pas de réponse de votre machine
• Routage source - spécifie le chemin qu'un paquet doit emprunter sur le réseau ; la plupart des
systèmes ne le permettent plus
• Leurre d' adresse IP - envoie des paquets depuis votre adresse IP ainsi que plusieurs autres
leurres pour confondre l'IDS/le pare-feu quant à l'origine réelle de l'attaque.
• nmap -D RND:10 x.x.x.x
• nmap -D decoyIP1,decoyIP2....,sourceIP,.... [target]
• Proxy - cache la véritable identité en filtrant à travers un autre ordinateur. Peut également être
utilisé à d'autres fins telles que l'évasion de blocage de contenu, etc.
• Chaînes de proxy - enchaîner plusieurs proxys ensemble
• Commutateur de proxy
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 14
• Atelier Proxy
• ProxyChains
• Tor - un type spécifique de proxy qui utilise plusieurs sauts vers une destination ; les
terminaux sont des ordinateurs homologues
• Anonymes - masque l'identité sur le trafic HTTP (port 80)
Saisie de bannière
La capture de bannière peut être utilisée pour obtenir des informations sur le système d'exploitation
ou des informations spécifiques sur le serveur (telles que le serveur Web, le serveur de messagerie,
etc.)
• Actif - envoi de paquets spécialement conçus et comparaison des réponses pour déterminer le
système d'exploitation
• Passif - lire les messages d'erreur, renifler le trafic ou regarder les extensions de page
• Un moyen simple de saisir la bannière est de se connecter via telnet sur le port (par exemple
80 pour le serveur Web)
• Outil Netcat
• Le "couteau suisse" du piratage TCP/IP
• Fournit toutes sortes de contrôle sur un shell distant sur une cible
• Se connecte via nc -e <IP address> <Port>
• De la machine d'attaque nc -l -p 5555 ouvre un port d'écoute sur 5555
• Peut se connecter via TCP ou UDP, à partir de n'importe quel port
• Offre le transfert DNS, le mappage de port, le transfert et le proxy
• Netcat peut être utilisé pour saisir des bannières :
• nc <IP address or FQDN> <port number>
Institut de Sécurité-Informatique Avancée CEHv11 Module 03 Scanning Network | page 15