420-PKF-SL Sécurité Sécuriser Windows NMap 1
Outils Utilisation des protocoles Internet par NMap Pour vérifier l'existance d'un ou des hôte(s): PING L'approche la plus simple pour vérifier l'existance d'un «hôte» TCP Unesimple tentative de connexionretournera un «succès» ouun «échec» cequi prouverala présenced'un «hôte» ICPM Ces messages sont envoyés quand le routage de paquets est en échec. Un bombardement systématique d'une adresse finira par générer une erreur de surcharge et de paquets perdus. 2
Récapitulatif Flags du protocole TCP: NS \ CWR Explicit Congestion Notification (pas utile pour nous) ECE / URG Urgent ACK Acquiessement PSH Push (transfert le data à l'application cible) RST Reset (Remise à Zéro de la connexion) SYN Synchronisation du # de séquence FIN Finish (il n'y a plus de données disponibles) Connexion(abbrégé): SYN Client Serveur SYN-ACK Serveur Client ACK Client Serveur 3
Théorie NMapest, avant-tout, un «scanner» de ports. Il reconnaît six (6) états différents pour les ports: Ouvert Uneapplication accepteuneconnectionstcp, des datagrams UDP ou des associations SCTP via ce port. Fermé Filtré Non-Filtré Reçoit et répond aux paquets inquisiteurs de NMap mais aucune application ne lui est relié. NMapne peuxdéterminersile port estouvertoufermé car ceport estsous l'égided'une«filtration de paquets» NMapne peuxdéterminersile port estouvertoufermé maisle port esttout de mêmeaccessible. Ouvert/Filtré NMap ne peux déterminer si le port est ouvert ou filtré Habituellement un port est détecté mais ne répond pas. Fermé/Filtré NMap ne peux déterminer si le port est fermé ou filtré 4
DÉCOUVERTE DES HÔTES: -sl: List Scan- Liste simplement les cibles à scanner -sp: PingScan-Nefaitquedéterminersileshôtessontenligne -P0: -PN: Paramètres Considère que tous les hôtes sont en ligne évite la découverte des hôtes Considérer tous les hôtes comme étant connectés saute l'étape de découverte des hôtes -PS/PA/PU[portlist]: Découverte TCP SYN/ACK ou UDP des ports en paramètre -PE/PP/PM: Découverte de type requête ICMP echo, timestamp ou netmask -PO[numdeprotocole]:PingIP(partype) -n: Ne jamais résoudre les noms DNS/ -R Toujours résoudre[résout les cibles actives par défaut] --dns-servers<serv1[,serv2],...>: Spécifier des serveurs DNS particuliers 5
Paramètres TECHNIQUES DE SCAN: -ss Scans TCP SYN -st Scans Connect() {connexion TCP seulement} -sa Scans ACK -sw Scans Window -sm: Scans Maimon -sn Scans TCP Null -sf Scans FIN -sx: Scans Xmas -su: Scan UDP (Cette option ne fonctionne pas en IPv6) --scanflags<flags>: Personnalise les flags des scans TCP -si<zombie host[:probeport]>: Idlescan(scan passif) -so: Scan des protocoles supportés par la couche IP -b <ftp relayhost>: Scan par rebond FTP --traceroute: Détermine une route vers chaque hôte --reason: Donne la raison pour laquelle tel port apparait à tel état 6
Paramètres SPÉCIFICATION DES PORTS ET ORDRE DE SCAN: -p <plage de ports>: Ne scanne que les ports spécifiés Exemples: -p22; port # 22 seulement -p1-65535; ports 1 à 65535 -pu: 53,111,137,T:21-25,80,139,8080 seulement les ports listés -F: Fast-Ne scanne que les ports listés dans le fichier nmap-services -r: Scan séquentiel des ports, ne mélange pas leur ordre --top-ports <nombre>: Scan <nombre> de ports parmi les plus courants --port-ratio <ratio>: Scan <ratio> pour cent des ports les plus courants 7
DÉTECTION DE SERVICES/VERSION: Paramètres -sv: Teste les ports ouverts pour déterminer le service en écoute et sa version --version-light: Limite les tests aux plus probables pour une identification plus rapide --version-intensity<niveau>: De 0 (léger) à 9 (tout essayer) --version-all: Tente un à un tous les tests possibles pour la détection des versions --version-trace: Affiche des informations détaillées du scan de versions (pour débogage) 8
Paramètres SCRIPT SCAN: NMappossède son propre langage de «script» Les paramètres suivants servent à lancer des scans à l'aide de scripts c.f. : http://www.aldeid.com/wiki/nmap-fr:script_scan -sc: équivalent de --script=safe, intrusive --script=<luascripts>: <luascripts> est une liste de répertoires ou de scripts séparés par des virgules --script-args=<n1=v1,[n2=v2,...]>: passer des arguments aux scripts --script-trace: Montre toutes les données envoyées ou reçues --script-updatedb: Met à jour la base de données des scripts. Seulement fait si -scou--script a été aussi donné. 9
Paramètres TEMPORISATION ET PERFORMANCE: -T{n} où {n} {nom} Intervalle de Temps 0 paranoid 5 minutes 1 sneaky 15 secondes 2 Polite 0,4 seconde 3 Nornal Aussitôt confirmé 4 Agressive Bombardement répété 5 Insane Bombardement répété encore plus vite --min-hostgroup/max-hostgroup<msec>: Tailles des groupes d'hôtes à scanner en parallèle --min-parallelism/max-parallelism<msec>: Parallélisationdes paquets de tests (probes) --min_rtt_timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Spécifie le temps d'aller-retour des paquets de tests --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Précise le round trip time des paquets de tests. --max-retries <tries>: Nombre de retransmissions des paquets de tests des scans de ports. --host-timeout <msec>: Délai d'expiration du scan d'un hôte --scan-delay/--max-scan-delay<time>: Ajuste le délai entre les paquets de tests. 10
Paramètres ÉVASION PARE-FEU ET USURPATION D'IDENTITÉ: -f;--mtu<val>: Fragmente les paquets (en spécifiant éventuellement la MTU) -D <leure1,leure2,...>: Obscurcit le scan avec des leurres -S <IP_Address>: Usurpe l'adresse source -e <iface>: Utilise l'interface réseau spécifiée (-e eth0) -g/ --source-port <portnum>: Utilise le numéro de port comme source --data-length<num>: Ajoute des données au hasard aux paquets émis --ip-options <options>: Envoie des paquets avec les options IP spécifiées. --ttl<val>: Spécifie le champ time-to-live IP --spoof-mac <adresse MAC, préfixe ou nom du fabriquant>: Usurpe une adresse MAC --badsum: Envoie des paquets TCP/UDP avec une somme de contrôle erronée. 11
SORTIE: -on/-ox/-os/-og <file>: au format : Paramètres Sortie dans le fichier en paramètre des résultats du scan Normal/ XML/ s <ript kiddi3 et Grepable, respectivement -oa<basename>: Sortie dans les trois formats majeurs en même temps -v: Rend Nmapplus verbeux (-vvpour plus d'effet) -d[level]: Sélectionne ou augmente le niveau de débogage (significatif jusqu'à 9) --packet-trace: Affiche tous les paquets émis et reçus --iflist: Affiche les interfaces et les routes de l'hôte (pour débogage) --log-errors: Consigne les erreurs/alertes dans un fichier-journal au format normal --append-output: Ajoute la sortie au fichier plutôt que de l'écraser --resume <filename>: Reprend un scan interrompu --stylesheet <path/url>: Feuille de styles XSL pour transformer la sortie XML en HTML --webxml: Feuille de styles de références de Insecure.Orgpour un XML plus portable --no_stylesheet: Nmapn'associe pas la feuille de styles XSL à la sortie XML 12
DIVERS: -6: Active le scan IPv6 -A: -O: -V: -h: -v: Active la détection du système d'exploitation et des versions --datadir<dirname>: Spécifie un dossier pour les fichiers de données de Nmap --send-eth/--send-ip: Envoie des paquets en utilisant des trames Ethernet ou des paquets IP bruts --privileged: Paramètres Suppose que l'utilisateur est entièrement privilégié --unprivileged: Suppose que l'utilisateur n'a pas les privilèges d'usage des rawsocket Active la détection d'os --osscan-limit: --osscan-guess: Affiche le numéro de version Affiche ce résumé de l'aide Mode verbose(en dis plus) Limite la détection aux cibles prometteuses Devine l'os de façon plus agressive 13
Interrogation directe d'un «hôte» Considèrequetousleshôtessontenligne NMap-P0 169.254.251.77 (le programme remplace -P0 par -Pn) NMap 169.254.251.77 donne le même résultat Starting Nmap 5.51 ( http://nmap.org ) at 2011-10-20 09:12 Est(heure d été) Nmap scan report for 169.254.251.77 Host is up (0.070s latency). All 1000 scanned ports on 169.254.251.77 are filtered MAC Address: 08:00:27:A5:BA:1B (Cadmus Computer Systems) Nmapdone: 1 IP address (1 host up) scanned in 76.73 seconds Liste simplement les cibles à scanner NMap-sL 169.254.251.77 Starting Nmap 5.51 ( http://nmap.org ) at 2011-10-2009:12 Est(heure d été) Nmap scan report for 169.254.251.77 Nmapdone: 1 IP address (0 hosts up) scanned in 0.44 seconds 14
Interrogation d'un hôte (suite) Notre machine virtuelle a l'adresse I/P: 10.0.3.15 Le routeur «virtuel» est à l'adresse I/P: 10.0.3.15 nmap-t4 -A-v -Pn10.0.3.1 Starting Nmap 5.51 ( http://nmap.org ) at 2011-10-20 11:06 Est(heure d été) NSE: Loaded 57 scripts for scanning. Initiating ARP Ping Scan at 11:06 Scanning 10.0.3.2 [1 port] Completed ARP Ping Scan at 11:06, 0.70s elapsed (1 total hosts) Initiating Parallel DNS resolution of 1 host. at 11:06 Completed Parallel DNS resolution of 1 host. at 11:06, 16.52s elapsed Initiating SYN Stealth Scan at 11:06 Scanning 10.0.3.2 [1000 ports] Completed SYN Stealth Scan at 11:06, 22.93s elapsed (1000 total ports) suite 15
Interrogation d'un hôte (suite) nmap-t4 -A-v-Pn10.0.3.1 la suite Initiating Service scan at 11:06 Initiating OS detection (try#1) against 10.0.3.2 Retrying OS detection (try#2) against 10.0.3.2 Nmap scan report for 10.0.3.2 Host is up (0.00s latency). All 1000 scanned ports on 10.0.3.2 are filtered MAC Address: 52:54:00:12:35:02 (QEMU Virtual NIC) Too many fingerprints match this host to give specific OS details Network Distance: 1 hop TRACEROUTE HOP RTT ADDRESS 1 0.00 ms10.0.3.2... Nmapdone: 1 IP address (1 host up) scanned in 45.86 seconds Raw packets sent: 2049 (94.700KB) Rcvd: 1 (28B) -A: Active la détection du système d'exploitation et des versions 16
nmap-t4 -st-v -Pn 10.0.3.1 la suite Starting Nmap 5.51 ( http://nmap.org ) at 2011-10-20 11:27 Est(heure d été) Initiating ARP Ping Scan at 11:27 Scanning 10.0.3.2 [1 port] Completed ARP Ping Scan at 11:27, 0.54s elapsed (1 total hosts) Initiating Parallel DNS resolution of 1 host. at 11:27 Completed Parallel DNS resolution of 1 host. at 11:27, 0.01s elapsed Initiating Connect Scan at 11:27 Scanning 10.0.3.2 [1000 ports] Discovered open port 80/tcp on 10.0.3.2 Interrogation d'un hôte (suite) Discovered open port 3389/tcp on 10.0.3.2 Discovered open port 445/tcp on 10.0.3.2 Discovered open port 135/tcp on 10.0.3.2 Discovered open port 49154/tcp on 10.0.3.2 Increasing send delay for 10.0.3.2 from 0 to 5 due to 11 out of 21 dropped probes since last increase. Connect Scan Timing: About 29.75% done; ETC: 11:28 (0:01:13 remaining) -st: Identification par réponse (positive ou négative) à la connexion du protocole TCP. 17
Références Tutoriel NMap(français): http://gushyxio.net/nmap/ Tutoriel NMap(anglais): http://nmap.org/bennieston-tutorial/ Référence NMap(français): http://www.authsecu.com/scanner-port-tcp-udp/scanner-port-tcp-udp.php Wikipedia: http://fr.wikipedia.org/wiki/nmap Théorie: http://www.cgsecurity.org/articles/scan_port.html 18