Outils pour utilisateurs

Outils du site


nmap

Présentation rapide de Nmap

Nmap (“Network Mapper”) est un outil open source d'exploration réseau et d'audit de sécurité. Il a été conçu pour rapidement scanner de grands réseaux, mais il fonctionne aussi très bien sur une cible unique.

Dans mon tutoriel, j'utiliserai mes poste personnel l'un sur Debian et le second sur Archlinux.

Installation Debian et Ubuntu

sudo apt-get install nmap

ou pour ceux qui utilisent aptitude avec des droit root bien sur.

aptitude install nmap

Un GUI existe dans les dépots, pour l'installer

sudo apt-get install zenmap

Vous pouvez l'installer via le Software Center ou la logithèque Ubuntu en tapant nmap dans le filtre de recherche.

Pareil pour Zenmap.

Installation Archlinux

pacman -S nmap

Dépendances optionnelles pour nmap

pygtk: pour avoir le GUI pour Nmap

pacman -S pygtk

Installation de Zenmap et Nmap sous Fedora

yum install nmap-frontend

Nmap

On va commencer par tester un scan basique avec Nmap avec la commande nmap adress_ip

coyotus@Debian ~ $ sudo nmap 192.168.1.11

Starting Nmap 5.00 ( http://nmap.org ) at 2010-11-10 15:34 CET
All 1000 scanned ports on 192.168.1.11 are filtered
MAC Address: XX:XX:XX:XX:XX:XX (Asustek Computer)

Nmap done: 1 IP address (1 host up) scanned in 21.50 seconds

On obtient ainsi des simple information, l'adresse mac et que l'adresse ip est active.

Ensuite on peut scanner les ports facilement en lançant la commande suivante:

sudo nmap 192.168.1.1 -p 1-65535

Explication de la commande:

sudo: dans le cas ou sudo est installé pour lancer la commande avec des droit super utilisateur.

nmap: est bien sur l'application à utiliser on l'avais facilement deviné.

-p: et une des option de Nmap dans le cas présent l'option <plage>: Ne scanne que les ports spécifiés

1-65535: la plage de port spécifié dans notre exemple de 1 à 65535

pour mon exemple j'ai effectué la commande sur ma box une bbox2 de chez belgacom

coyotus@Debian ~ $ sudo nmap 192.168.1.1 -p1-65535

Starting Nmap 5.00 ( http://nmap.org ) at 2010-11-05 17:29 CET
Interesting ports on 192.168.1.1:
Not shown: 65523 closed ports
PORT      STATE SERVICE
23/tcp    open  telnet
80/tcp    open  http
MAC Address: 00:XX:XX:XX:XX:XX (Sagem Communication)

Nmap done: 1 IP address (1 host up) scanned in 23.69 seconds

Dans cet exemple vous voyez les port ciblé l'état des port (ouvert ou fermé) et le service concerné dans notre exemple telnet et http qui sert au navigateur internet.

on va scanner le poste Archlinux de notre réseau

coyotus@Debian ~ $ sudo nmap 192.168.1.11 -p1-65535

Starting Nmap 5.00 ( http://nmap.org ) at 2010-11-05 17:36 CET
All 65535 scanned ports on 192.168.1.11 are closed
MAC Address: XX:XX:XX:XX:XX:XX (Asustek Computer)

Nmap done: 1 IP address (1 host up) scanned in 2.17 seconds

et là on vois que tout les port sont fermé

pareil depuis le poste Archlinux.

root@archlinux ~ $ sudo nmap 192.168.1.11 -p1-65535

Starting Nmap 5.21 ( http://nmap.org ) at 2010-11-05 17:41 CET
All 65535 scanned ports on 192.168.1.11 are closed
MAC Address: 00:XX:XX:XX:XX:XX (Giga-byte Technology Co.)

Nmap done: 1 IP address (1 host up) scanned in 2.17 seconds

l'option sP: Ping Scan - Ne fait que déterminer si les hôtes sont en ligne

coyotus@Debian ~ $ sudo nmap -sP 192.168.1.11

Starting Nmap 5.00 ( http://nmap.org ) at 2010-11-05 17:45 CET
Host 192.168.1.11 is up (0.000079s latency).
MAC Address: 00:XX:XX:XX:XX:XX (Asustek Computer)
Nmap done: 1 IP address (1 host up) scanned in 0.36 seconds

L'option -sL liste rapidement tout les poste susceptible d'être scanné

coyotus@Debian ~ $ sudo nmap -sL 192.168.1.11

Starting Nmap 5.00 ( http://nmap.org ) at 2010-11-05 17:53 CET
Host 192.168.1.11 not scanned
Nmap done: 1 IP address (0 hosts up) scanned in 0.10 seconds

Dans notre exemple seul le poste Archlinux apparait car les poste qui restent ne sont pas actuellement connecté ni allumé (je possède encore des poste en wifi)

L'option -O: Active la détection d'OS

coyotus@Debian ~ $ sudo nmap -O 192.168.1.1

Starting Nmap 5.00 ( http://nmap.org ) at 2010-11-05 18:03 CET
Interesting ports on 192.168.1.1:
Not shown: 993 closed ports
PORT     STATE SERVICE

MAC Address: 00:XX:XX:XX:XX:XX (Sagem Communication)
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.X - 2.6.XX
Network Distance: 1 hop

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.42 seconds

Dans notre exemple je viens de scanner l'OS de ma box très utile afin de trouver le kernel utilisé dans le cas d'un Linux et éventuellement se renseigner sur les failles connue sur celui-ci et de le mettre à jour afin de corriger celle-ci.

–osscan-limit: Limite la détection aux cibles prométeuses –osscan-guess: Détecte l'OS de façon plus agressive –osscan-guess: Devine l'OS de facon plus agressive

Mettre le résultat d'une commande Nmap dans un fichier texte.

Exemple:

nmap -iflist > liste

Cette commande créera un fichier texte avec le résultat de votre commande dans votre dossier personnel “/home/dossier personnel/liste”, il suffira de le lire avec votre éditeur de texte préféré ou avec “cat”

Maintenant nous allons scanner un site distant avec l'option -v Cette option scanne tous les ports réservés TCP sur la machine du site ciblé . L'option -v active le mode verbeux.

coyotus@Debian ~ $ sudo nmap -v site-cible.fr

Starting Nmap 5.00 ( http://nmap.org ) at 2010-11-07 09:21 CET
NSE: Loaded 0 scripts for scanning.
Initiating Ping Scan at 09:21
Scanning XXX.XXX.XXX.XX [4 ports] // ici on découvre l'ip du site cible
Completed Ping Scan at 09:21, 0.08s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 09:21
Completed Parallel DNS resolution of 1 host. at 09:21, 0.05s elapsed
Initiating SYN Stealth Scan at 09:21
Scanning ns1.XXXX-nom.com (194.150.236.25) [1000 ports]
Discovered open port 3306/tcp on 194.150.236.25
Discovered open port 53/tcp on 194.150.236.25
Discovered open port 80/tcp on 194.150.236.25
Discovered open port 22/tcp on 194.150.236.25
Discovered open port 10000/tcp on 194.150.236.25
Completed SYN Stealth Scan at 09:22, 4.12s elapsed (1000 total ports)
Host ns1.XXXX-nom.com (194.150.236.25) is up (0.060s latency).
Interesting ports on ns1.XXXX-nom.com (XXX.XXX.XXX.XX): // entreparenthèse (IP)
Not shown: 993 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
25/tcp    filtered smtp
53/tcp    open     domain
80/tcp    open     http
646/tcp   filtered ldp
3306/tcp  open     mysql
10000/tcp open     snet-sensor-mgmt

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 4.47 seconds
           Raw packets sent: 1031 (45.340KB) | Rcvd: 1022 (40.888KB)

L'option -sP: Ping Scan - Ne fait que déterminer si les hôtes sont en ligne -P0: Considère que tous les hôtes sont en ligne – évite la découverte des hôtes

coyotus@Debian ~ $ sudo nmap -sP 192.168.1.11
[sudo] password for coyotus: 

Starting Nmap 5.00 ( http://nmap.org ) at 2010-11-10 15:25 CET
Host 192.168.1.11 is up (0.000079s latency).
MAC Address: XX:XX:XX:XX:XX:XX (Asustek Computer)
Nmap done: 1 IP address (1 host up) scanned in 0.33 seconds

Un ping simple peut ne pas aboutir alors que Le nmap scan lui , est capable de détecter la présence d'une cible même si le trafic ICMP est bloqué , en effet le ping nmap envoie deux datagramme , un ICMP echo request et un packet TCP ACK , ce dernier détecte la présence de notre cible.

Exemple de ping non abouti:

coyotus@Debian ~ $ sudo ping 192.168.1.11
PING 192.168.1.11 (192.168.1.11) 56(84) bytes of data.
^C
--- 192.168.1.11 ping statistics ---
136 packets transmitted, 0 received, 100% packet loss, time 135498ms

RPC Scan (-sR) :

Ce scan est utilisé pour identifier le service RPC sur notre machine cible . Le scan vérifie si le service est présent . Les RPC sont des programmes qu'on peut utilisé pour accéder à un système comme si il était installé sur notre propre machine depuis la machine cible, il utilise généralement le port 135

:!: il y as très peu de chance d'avoir une réponse positive à cette commande mais elle est parfois utiliser pour vérifier leurs existence lors d'un pentest wink .

Examinez les ports à l’écoute sur votre machine.

coyotus@Debian ~ $ nmap localhost

Starting Nmap 5.00 ( http://nmap.org ) at 2011-03-13 10:22 CET
Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1.
Interesting ports on localhost.localdomain (127.0.0.1):
Not shown: 996 closed ports
PORT     STATE SERVICE
25/tcp   open  smtp
80/tcp   open  http
631/tcp  open  ipp
3306/tcp open  mysql

Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds

Le paramètre -A permet de détecter en plus le système d’exploitation distant et sa version. Pour cela un ou plusieurs ports doivent être ouverts. Mieux : nmap interroge chaque service associé aux ports trouvés quand c’est possible pour récupérer des informations.

coyotus@Debian ~ $ nmap -A 192.168.1.1

Starting Nmap 5.00 ( http://nmap.org ) at 2011-03-13 10:28 CET
Interesting ports on 192.168.1.1:
Not shown: 993 closed ports
PORT     STATE SERVICE        VERSION
23/tcp   open  telnet         Sagem router telnetd
80/tcp   open  http?
|_ html-title: Belgacom
443/tcp  open  ssl/https?
|_ sslv2: server still supports SSLv2
|_ html-title: Belgacom
992/tcp  open  ssl/telnet     Sagem router telnetd
|_ sslv2: server still supports SSLv2
8080/tcp open  http-proxy?
8085/tcp open  unknown
8443/tcp open  ssl/https-alt?
|_ sslv2: server still supports SSLv2
|_ html-title: Belgacom

Détecter si quelqu'un sniffe le réseau Local.

nmap --script=sniffer-detect 192.168.1.0/24

(192.168.1.0/24 à adapter à votre réseau)

Le script cherche les cartes réseau en promiscuous mode (mode indispensable pour pouvoir sniffer)

Source: k0n1k

Détecter un serveur DHCP

Voici la commande Nmap permettant de détecter la présence de serveur DHCP sur un réseau via le script « dhcp-discovery.nse » mais aussi de récupérer les informations (plage réseau, DNS et passerelle) qu’il transmet lors d’une requête DHCP demandant l’attribution d’une adresse IP :

nmap -sU -p 67-68 –script dhcp-discover 192.168.1.0/24

Source: http://www.secuip.fr/hack/detecter-un-s … -avec-nmap

En parlant de script, il existe des script nmap à utiliser en complément. Plus d'info sur les lien suivant.

http://wiki.spiritofhack.net/index.php/ … ing_engine

Voici une nmap cheat sheet : http://www.infographiste-prod.ch/la_hye … etv1.0.pdf

Merci au blog de la_hyene pour la découverte.

:!: Certaine commandes ne nécessite pas de droit root et d'autres oui en cas de doute vous verrez cette alerte “requires root privileges. QUITTING!” vous saurez alors qu'il vous faut des droit root.

Résumé des option ou man-pages en français: http://nmap.org/man/fr/man-briefoptions.html

Exemple: http://nmap.org/man/fr/man-examples.html

Tutoriel source: http://raylook.blogspot.com/2010/06/port-scanning.html

Zenmap

Présentation rapide de Zenmap

Zenmap est une interface graphique officielle à Nmap, grâce à une série de modèles prédéfinis, elle permets de lancer des “scan” en un simple clic de souris.

Entrée dans le menu : Applications → Outils Système → Zenmap

Une alerte s'affiche alors pour vous prévenir que pour certaines commandes, il faut des droit root.

Pour lancer Zenmap avec des droit root il suffit de se logger en root avec “su” ou si vous utilisez “sudo”

sudo zenmap

Voici comment se présente l'insterface de Zenmap

Il suffit de spécifier la cible et de lancer le scan.

Une sélection de commande prédéfinie de scan est disponible dans le menu déroulant.

Aide et autre tutoriel

Nmap

http://gushyxio.net/nmap/index.php

http://raylook.blogspot.com/2010/06/port-scanning.html

http://nmap.org/man/fr/man-briefoptions.html

ZeNmap

http://nmap.org/book/zenmap-topology.html

http://bricowifi.free.fr/hackz/showthread.php?tid=64

nmap.txt · Dernière modification: 2016/08/24 18:58 (modification externe)