Vous n'êtes pas identifié(e).
Pages : 1
Ce tutoriel à pour but d'approcher Nmap à partir de zéro afin de découvrir sans peur cette application qui pourrais effrayer les débutants sur les distributions Linux.
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
:idea: 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 .
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:
http://k0n1k.blogspot.com/2012/02/astuce-detecter-si-quelquun-sniffe-le.htm…
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://www.k0n1k.com/2012/11/script-nma … s-des.html
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
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
tres bon tuto gourou !! merci du partage !!
la justice a une dette envers moi
Hors ligne
@WW
tu fais bien de sortir ce sujet !
pour le voyageur, je voudrais bien dire une précision.
c'est pas forcement 192.168.1.0/24
si ça marche pas, testez avec 192.168.0.0/24
exemple >
# nmap -sP 192.168.0.0/24
pour éviter la prise de tête, sur certaine configuration !
une machine peut être une 192.168.0.2 ou 192.168.0.1 etc ...
le >
# ifconfig
informera.
faut pas faire du 192.168.1.xx
tête baissée !
@+
Dernière modification par WangXiangzhai (09-03-2015 01:14:33)
PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso
Hors ligne
J'avais d'ailleurs précisé dans le tuto que je le faisait sur mon réseau
Dans mon tutoriel, j'utiliserai mes poste personnel l'un sur Debian et le second sur Archlinux.
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
et oui, c'est ça qui est terrible !
c'est là sous ton nez, et tu piges pas !
moi au début je tombai systématiquement dans le panneau (dans les tutos nmap).
il y en à beaucoup avec 192.168.1.0/24.
jusqu'au moment ou, j'en ai trouvé un avec 192.168.0.0/24
et que je me dise dans ma tête d’âne > tiens, il y a un truc là !
il y a différents types d'adressages ?
http://www.linux-france.org/article/ser … x3608.html
une histoire de configuration du routeur ?
ou plutôt une affaire de mathématiciens ! ?
c'est pénible de ne pas naître directement ingénieur réseaux
quelques commandes, qui m'ont soutenues pendant mon pèlerinages et chemin de croix.
# route -n (égale à) # netstat -nr
# ip route show
# ip route show table local
# arp -a
# ping 192.168.0.X
Dernière modification par WangXiangzhai (09-03-2015 12:51:21)
PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso
Hors ligne
C'est un principe de connaissance de base de l'adressage IP
En gros c'est comme pour les trains
si tu te trouve dans le train numéro 1 qui a 255 wagons, tu peux te balader dedans, mais pas dans le train 2
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
Attention aux masques quand on joue avec les trains Car il y a moyen de fusionner les trains
Habituellement on joue avec du 255.255.255.0 mais on pourrait utiliser une 255.255.240.0 ou autre à la place
Hors ligne
ouais, super image pour se représenter le truc !
merci, à tout les deux !
faut aussi dire, que la qualité du résultat diffère beaucoup en fonction des différentes versions installées de nmap.
(actuellement nmap-6.47) > http://nmap.org/download.html
root@debian:/home/philippe# uname -a && lsb_release -a
Linux debian 3.2.0-4-686-pae #1 SMP Debian 3.2.65-1+deb7u2 i686 GNU/Linux
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 7.8 (wheezy)
Release: 7.8
Codename: wheezy
root@debian:/home/philippe#
root@debian:/home/philippe#
root@debian:/home/philippe# nmap --version
Nmap version 6.00 ( http://nmap.org )
Platform: i686-pc-linux-gnu
Compiled with: liblua-5.1.5 openssl-1.0.1e libpcre-8.30 libpcap-1.3.0 nmap-libdnet-1.12 ipv6
Compiled without:
root@debian:/home/philippe#
root@debian:/home/philippe#
root@debian:/home/philippe#
root@debian:/home/philippe#
root@debian:/home/philippe# apt-cache policy nmap
nmap:
Installé : 6.00-0.3+deb7u1
Candidat : 6.00-0.3+deb7u1
Table de version :
*** 6.00-0.3+deb7u1 0
500 http://ftp.fr.debian.org/debian/ wheezy/main i386 Packages
100 /var/lib/dpkg/status
root@debian:/home/philippe#
sur wheezy 6.00-0.3+deb7u1, je la trouve pas terrible ?
Dernière modification par WangXiangzhai (09-03-2015 14:52:12)
PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso
Hors ligne
Oui mais entre les versions, tu as aussi d'autres différences notament les "Compiled with"
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
j'ai compilé une version 6.47 de nmap sur SecuBian installée dans virtualbox (accès par pont).
c'est peut être une lubie, mais j'ai l'impression que ça va mieux.
Dernière modification par WangXiangzhai (09-03-2015 22:35:57)
PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso
Hors ligne
Je profite aussi
J'ai une question concernant :
nmap -sU -p 67-68 –script dhcp-discover 192.168.1.0/24
Cette commande permet elle aussi de déterminer la plage IP disponible du serveur dhcp ?
>> Good things come to those who, Wait.. <<
>> sip:yzeew@ekiga.net << and >> #Pouni3 <<
Hors ligne
normalement, oui.
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 :
PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso
Hors ligne
En fait il ne permet pas de savoir le pool DHCP d'après mes test, je corrigerai le tuto après vérification.
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
ça doit dépendre de la configuration du serveur par l'administrateur réseau.
c'est très connu et il y a pas mal de contre mesures.
PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso
Hors ligne
En fait il ne permet pas de savoir le pool DHCP d'après mes test, je corrigerai le tuto après vérification.
Ok merci pour l'info! J'ai justement testé et j'ai pas eu le retour de la plage du serveur DHCP.
ça doit dépendre de la configuration du serveur par l'administrateur réseau.
Un serveur DHCP sur du 2K8R2 sans aucune configuration spécifique, la commande ne parvient pas à identifier la plage d'IP du serveur DHCP.
Dernière modification par Yzeew (17-03-2015 17:29:36)
>> Good things come to those who, Wait.. <<
>> sip:yzeew@ekiga.net << and >> #Pouni3 <<
Hors ligne
Ajouté au wiki: http://linuxtrack.net/wiki/doku.php?id=nmap
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
Pages : 1