nmap (network exploration tool and security scanner)

ex: nmap -A -T4 host.domain.org    -A ajoute os v et version de nmap (j'ai la v6)   -T4 execution plus rapide

sudo apt-get install nmap

nmap -A -T4 scanme.nmap.org sortie: table des ports interressant

nmap -A -T4 scanme.nmap.org liste le numéro de port et le protocole, le nom du service et son état (open, filtered, closed ou unfiltered).

quelques options

-p <plage de ports>: Ne scanne que les ports spécifiés. Ex: -p22; -p1-65535; -pU:53,111,137,T:21-25,80,139,8080
 

SORTIE:
           -oN/-oX/-oS/-oG <file>: Sortie dans le fichier en paramètre des résultats du scan au format normal, XML, s|<rIpt kIddi3 et Grepable, respectivement

Interface graphique (site en anglais): Umit ou  Zenmap

TCP Sequence Prediction

The parenthesized comment is based on the difficulty index and ranges from Trivial joke to Easy, Medium, Formidable, Worthy challenge, and finally Good luck!

Nmap voit 6 types d'état pour les ports: open closed filtered unfiltered open|filtered closed|filtered

Les 6 états de port Nmap
état de port nmap signifie note
open port accessible, 
appli en écoute
indique services disponibles
closed port accessible,  pas d'appli en écoute utile pour montrer qu'un hôte est actif (découverte d'hôtes ou scan ping), ou pour la détection de l'OS.
Si on le bloque, il apparaitra en filtré
filtered ouvert?
un dispo de filtrage bloque les probes
oblige nmap à essayer plusieurs fois, au cas où ces paquets de tests seraient rejetés à cause d'une surcharge du réseau et pas du filtrage. Ceci ralenti terriblement les choses.
unfiltered un port est accessible, mais
ouvert ou fermé ?
Seul le scan ACK catégorise les ports dans cet état.
Un autre type de scan (ex: scan Windows, SYN ou FIN) peut aider à savoir si un port est ouvert ou pas.
open|filtered ouvert ou filtré ? les ports ouverts ne renvoient pas de réponse, ou il y a un filtrage.
Les scans UDP, protocole IP, FIN, Null et Xmas catégorisent les ports ainsi.
closed|filtered fermé ou filtré ? Cet état est seulement utilisé par le scan Idle basé sur les identifiants de paquets IP.
  • open Ouvert indique que l'application de la machine cible est en écoute de paquets/connexions sur ce port.
  • closed Fermé Un port fermé est accessible (il reçoit et répond aux paquets émis par Nmap), mais il n'y a pas d'application en écoute. Utile à scanner (car peux s'ouvrir n'importe quand).
  • filtered Filtré indique qu'un pare-feu, un dispositif de filtrage ou un autre obstacle réseau bloque ce port, empêchant ainsi Nmap de déterminer s'il s'agit d'un port ouvert ou fermé. 

Nmap ne peut pas toujours déterminer si un port est ouvert car les dispositifs de filtrage des paquets empêchent les paquets de tests (probes) d'atteindre leur port cible. Le dispositif de filtrage peut être un pare-feu dédié, des règles de routeurs filtrants ou un pare-feu logiciel. Ces ports ennuient les attaquants car ils ne fournissent que très peu d'informations. Quelques fois ils répondent avec un message d'erreur ICMP de type 3 code 13 (« destination unreachable: communication administratively prohibited »), mais les dispositifs de filtrage qui rejettent les paquets sans rien répondre sont bien plus courants. Ceci oblige Nmap à essayer plusieurs fois au cas où ces paquets de tests seraient rejetés à cause d'une surcharge du réseau et pas du filtrage. Ceci ralenti terriblement les choses.

  • unfiltered non-filtrés : le port est accessible, mais que Nmap est incapable de déterminer s'il est ouvert ou fermé.

Les ports sont considérés comme non-filtrés lorsqu'ils répondent aux paquets de tests (probes) de Nmap, mais Nmap ne peut déterminer s'ils sont ouverts ou fermés.

Seul le scan ACK, qui est utilisé pour déterminer les règles des pare-feux, catégorise les ports dans cet état. Scanner des ports non-filtrés avec un autre type de scan, comme le scan Windows, SYN ou FIN peut aider à savoir si un port est ouvert ou pas.

  • open|filtered
    Nmap met dans cet état les ports dont il est incapable de déterminer l'état entre ouvert et filtré. Ceci arrive pour les types de scans où les ports ouverts ne renvoient pas de réponse. L'absence de réponse peut aussi signifier qu'un dispositif de filtrage des paquets a rejeté le test ou les réponses attendues. Ainsi, Nmap ne peut s'assurer ni que le port est ouvert, ni qu'il est filtré.
    Les scans UDP, protocole IP, FIN, Null et Xmas catégorisent les ports ainsi.
  • closed|filtered
    Cet état est utilisé quand Nmap est incapable de déterminer si un port est fermé ou filtré.
    Cet état est seulement utilisé par le scan Idle basé sur les identifiants de paquets IP.
     

 Cf http://nmap.org/man/fr/man-port-scanning-basics.html ou http://nmap.org/book/man-port-scanning-basics.html

Le scan Idle

L'idle scan exploite le fait que l'on peut, sous certaines conditions, prédire les numéros d'identification IP (IPID). L'idle scan exploite le fait que l'on peut, sous certaines conditions, prédire les numéros d'identification IP (IPID).
1. L'attaquant doit d'abord rechercher une machine avec une séquence d'IPID prévisible: le "zombi".
2. L'étape suivante consiste en l'envoi d'un paquet SYN à la machine cible, en usurpant l'adresse IP du zombi.
Si le port de la machine cible est ouvert, celle-ci répondra au zombi avec un paquet SYN/ACK. Le zombi va donc envoyer un paquet RST à la cible car il n'est pas réellement l'émetteur du premier paquet SYN. Puisque la machine zombi a dû envoyer le paquet RST, elle incrémente son IPID. C'est ce qui permet à l'attaquant de découvrir si le port de la cible est ouvert.
3. La dernière étape est donc la vérification de l'IPID, en envoyant à nouveau un paquet SYN/ACK au zombi.

  • Si l'IPID contenu dans le paquet RST reçu en réponse a été incrémenté deux fois, on est certain que le port cible est ouvert.
  • En revanche si l'IPID n'est incrémenté qu'une fois, alors l'attaquant saura que ce port est fermé ou filtré.

avec nmap

trouver le "zombi" par balayage d'IP:   nmap -sP 192.168.1.0/24
envoyer les paquets avec ip source usurpée: nmap -P0 -p <port> -sI <zombi IP> <target IP>

 

source: scan Idle

voir aussi http://nmap.org/book/idlescan.html
Par ex: Attacker# nmap -sI Zombie -Pn -p20-25,110 -r --packet-trace -v Target 
où -Pn est pour la ruse (stealth ie cacher son IP, utiliser celle du zombi)

 

docs officielles

Voir doc officielle Doc en FR   et en anglais à  http://nmap.org/book/man.html