mardi 10 avril 2012

NMAP le pote du Pentester

Nmap sous Backtrack 5
Aujourd’hui, nous allons parler de Nmap sous backtrack 5 dans tous les détails que nous offre ce « petit jouet » assez simple à mettre en place. Votre mission, si vous l’acceptez est de scanner le site http://www.instits.org dans tous les recoins que nous pouvons utiliser Nmap.

Vous êtes prêt ? Mais avant de passer à la pratique, nous allons définir ce que Nmap peut faire…

Ce scanneur a une puissance de frappe qui le différencie des autres. Il permet d’auditer un réseau et de l’analyser pour prévenir des fuites d’informations qui nous pouvons récolter. Il réalise indifféremment des analyses de type UDP ou bien TCP et utilise différents protocoles de communication.

Nmap est disponible pour Windows comme pour Linux.


Quels sont les avantages de Nmap ?

Nmap présente quelques avantages fondamentaux :

. Flexibilité (support de diverses techniques avancées de scan)

. Détection de systèmes d’exploitation

. Prédiction approximative du nombre de paquets TCP, UDP, ICMP, TCP, SYN, FTP Proxy

. Sortie de données au format XML

. Possibilité de scanner des centaines d’hôtes

. Licence GPL software gratuite

. Utilisation avec plusieurs systèmes d’exploitation (Linux, Solaris, Irix, Open/Free/net BSD, Mac OS X, HP, Sun OS…)


Mais quels sont les commandes ?

Vous pensez qu’il n’y en a pas beaucoup ? Détrompez vous, il y en a 28 commandes pour une fonction bien spécifiques, nous allons voir quels sont les commandes et leurs descriptions qui se trouvent dans le tableau juste en dessous…


Les commandes de Nmap

Commandes / Explications :

-St
Scanner TCP connect. Il s’agit de la forme la plus courante pour commencer une analyse simple. Elle permet la connexion de tous les ports principaux du PC.

-Ss
Scanner TCP SYN. C’est la technique Half-Open (à demi ouvert). Vous envoyez à l’ordinateur ou serveur distant des paquets de type SYN| ACK pour savoir si le port est ouvert. Si vous recevez un message de type RST, cela signifie que le port est fermé ou bloqué.

-sF –sX –sN
Scanner mode Stealth, Xmas Tree ou Null Scan. Si l’ordinateur ou le serveur à distance est sécurisé, les paquets de type SYN seront restreints. Cette technique peut transpercer le pare-feu et être indétectable. Le but est que les ports fermés répondent à la requête avec un RST. Le scanneur FIN utilise un paquet vide pendant que le scanner Xmas Tree active les flags (drapeaux) comme FIN, URG et PUSH. Attention, un scanneur vide désactive tous les flags !

-sP
Scanner Ping. Il permet de savoir si un serveur actif se trouve dans le réseau. A chaque envoie de paquets NMAP, il attend des réponses ICMP.

-Su
Scanner UDP. Il permet de déterminer quels ports UDP (protocole de datagramme d’utilisateur RFC 768) sont ouverts. Si les paquets n’arrivent pas à destination, cela signifie que le port est fermé ou bloqué.

-b
FTP RELAY HOST. Permet de faire des connexions de type proxy (FCP 959).

-P0
Permet de scanner des réseaux protégés.

-PT
Utilise la commande ping pour déterminer si le serveur est actif. Il n’envoie pas de paquets du type echo ICMP, mais il se contente d’attendre des réponses en lançant des paquets TCP ACK vers le réseau de destination. Vous attendez une réponse RST pour savoir si le serveur est actif.

-PS
Scanneur de pétition de paquets SYN (pétition de connexion). Les serveurs doivent répondre avec un RST.

-PI
Paquet Ping (Petition ECHO ICMP). Cette technique ne se contente pas de trouver des serveurs, elle trouve également des adresses Broadcast, pour atteindre les sous-domaines.

-PB
Ce scanneur peut faire un balayage par défaut ACK (-PT) et ICMP (-PI). Son but est d’atteindre le pare-feu.

-O
Cette opération du scanneur a pour but d’activer la détection à distance entre plusieurs des ordinateurs en communication. Il utilise es traces laissées par le TCP/IP. Cette technique est plus connue sous le nom de Fingerprints et est utile pour déduire quel type de système est en train d’être analysé.

-I
Sa fonction est d’activer le scanneur TCP d’identification contraire. Il permet de mettre en évidence le nom de l’utilisateur.

-f
Cette option permet d’effectuer un scanneur du type SYN, FIN, XMAS ou NULL pour trouver l’en-tête TCP.

-v
Cette technique permet d’amplifier les informations. Cette option est bien utilisée pour sa force de frappe et la quantité des informations qu’elle permet de recueillir.

-h
Cette option affiche l’écran de NMAP.

-o
Nom de fichier du Registre. Cette option sauvegarde les résultats trouvés.

-m
Nom du registre. Stocke des informations dont le langage est très bien compris par l’ordinateur.

-i
Nom des fichiers d’entrée. Montre la spécification du serveur de destination.

-p
Etendue du port. Permet de faire une analyse sélective.

-F
Mode d’analyse rapide qui permet de faire un scan de façon sélective.

-D
Piège. Type d’analyse qui laisse penser que le serveur est en fait en train de se faire scanner aussi. Permet de tromper le serveur pour qu’il ne sache qui est en train de faire un scan en provoquant parfois (Flood) SYN.

-S
Adresse IP. Nmap essaye alors de déterminer l’adresse IP de l’hôte à distance.

-e
Interface. C’est l’interface que Nmap utilise pour envoyer et recevoir des paquets.

-g
Numéro de port. Permet d’identifier le numéro de port d’origine que le scanneur identifie.

-M
Max Socker. Etablit un nombre maximal de sockets que le scanneur utilise en parallèle, pour un scanneur TCP connect. Le but est que l’ordinateur à distance se bloque.

-sU
Permet d’effectuer un scan de type UDP dans l’ordinateur à distance en envoyant des paquets vides.

-sF -sX -sN
Stealth FIN, Xmas ou Scan Null.

Des exemples pratiques :

Dans cet exemple, nous utilisons la commande –sT pour effectuer une analyse sur les paquets TCP.

Le type de scanneur utilisé est TCp Connect().

. Réponse RST/ASK : port fermé.
. Réponse SYN/ASK : port ouvert, prêt à la connexion.

Une des techniques consiste à scanner un port à distance avec un « renifleur » activé comme Ethereal (maintenant nommé Wireshark), tcpdump entre autres. Si le port est ouvert, il peut laisser des opportunités de connexion.



Un petit exemple d’utilisation complet :

1. Ouvrez une konsole sous backtrack.
2. Puis saisissez : nmap -sT instits.org -p 21-180 -P0

-sT : Permet la connexion de tous les ports principaux de l’ordinateur.

-p21-180 : Permet de faire un scanne du port 21 jusqu’au port 180

-P0 : Permet de scanner des réseaux protégés.



Les ports ouverts du serveur instits.org sont les ports allant du port 21 jusqu’au port 180, tous les ports sensibles à une attaque potentielle (Voir la capture d’écran ci-dessus).





Les techniques d’utilisation en détail :

Voici quelques techniques d’utilisation de cet outil :

. Le scan TCP connect() (TCP connect () scanning)

. Le scan TCP SYN demi-ouvert (TCP SYN (half open) scanning)

. Le scan FIN, le scan dit de « l’ombre de Noël », le scan Nul ou furtif (TCP FIN, Xmas ou NULL (stealth) scanning)

. TCP ftp proxy (bounce attack) scanning

. Le scan SYN/FIN utilisant des fragments d’IP (SYN/FIN scanning using IP fragments)

. TCP ACK and Windows scanning

. UDP raw ICMP port unreachable scanning

. ICMP scanning (ping-sweep)

. TCP Ping scanning

. Direct (non portmapper) RPC scanning

. Remote OS Identification by TCP/IP Fingerprinting

. Reverse-ident scanning

. Scanneur de fragmentation

. Specification de ports de destination

. Scanneur dynamique


Maintenant, passons à la pratique :

TCP Connect Scan :

Cette technique effectue un balayage sur tous les ports de l’ordinateur ou du serveur à distance pour identifier en chemin quels sont les ports ouverts. Il est très diificile d’être repéré lors de ce type d’attaque.

1. Ouvrez une Konsole
2. Saisissez : nmap -sT instits.org ( nmap -sT )


________________________________________
TCP SYN Scan :

Cette technique permet d’ouvrir une connexion complète de type TCP.

Le but est de recevoir une réponse de type SYN|ACK, d’identifier quels ports est écoutés.

Si vous recevez une réponse de type RST, cela signifie que le port est fermé ou bloqué.

1. Ouvrez une Konsole
2. Saisissez : nmap -sS instits.org ( nmap -sS )



Nous pouvons voir que les ports 25, 135 et 445 sont en écoutes.

Les ports 21, 22, 80, 81, 82 et 443 sont ouverts.


TCP ACK Scan :

Cette technique menée par un scanneur envoie uniquement des paquets de type SYN comme le schéma nous le montre. Pour cette technique, il y a deux commandes, nous verrons ces deux commandes, voir un peu ce que nous avons.



1. Ouvrez une Konsole
2. Saisissez : nmap -sA instits.org ( nmap -sA )



OU

nmap -sW instits.org ( nmap -sW )




TCP FIN Scan

Ce type de scanneur est très risqué s’il s’agit d’un pirate.

Certains logiciels sont capables de détecter les paquets de type SYN.

Le but est d’obtenir une réponse des ports fermés.

1. Ouvrez une Konsole
2. Saisissez : nmap -sF instits.org ( nmap -sF )



Capture de données grâce au sniffer :

1. Ouvrez une Konsole
2. Saisissez : tcpdump -Xx -s 500 –n




TCP Null Scan

Le but de cette technique est d’envoyer des paramêtres de type -sN drapeau, pour recevoir une réponse RST du serveur à distance.

1. Ouvrez une Konsole
2. Saisissez : nmap -sN instits.org ( nmap -sN )



Capture de données grâce au sniffer :

1. Ouvrez une Konsole
2. Saisissez : tcpdump -Xx -s 500 –n


________________________________________
TCP Xmas Scan

Le scanneur envoie des paquets vides qui sont ignorés par le serveur.

Il y a cependant une réponse de la part du serveur.



1. Ouvrez une Konsole
2. Saisissez : nmap -sX instits.org ( nmap -sX )



Afficher des données grâce au sniffer tcpdump :

1. Ouvrez une Konsole
2. Saisissez : tcpdump -Xx -s 500 –n



Surveillance du trafic grâce au sniffer :

1. Ouvrez une Konsole
2. Saisissez : tcpdump -n -U -t



Operative System Scan

Dans cet exemple, vous devez savoir savoir quel est le système d’exploitation utilisé à distance.

Pour cet exemple, nous allons changer d’adresse IP qui sera caché.

1. Ouvrez une Konsole
2. Saisissez : nmap -O xxx.xxx.xxx.xxx ( nmap -O )



ICMP Echo Scan

Cette technique permet de modifier les valeurs du ping ainsi que les timeout.

Avec l’option -T, la manipulation des adresses est possible.

1. Ouvrez une Konsole
2. Saisissez : nmap -sP 213.186.33.18 ( nmap -sP )



Surveillance du trafic grâce au sniffer :

1. Ouvrez une Konsole
2. Saisissez : tcpdump -n -U -t


________________________________________
IP Protocol Scan

Permet de connaître les protocoles utilisés par l’ordinateur ou le serveur à distance.

1. Ouvrez une Konsole
2. Saisissez : nmap -sO 213.186.33.18 ( nmap -sP )



Surveillance du trafic grâce au sniffer :

1. Ouvrez une Konsole
2. Saisissez : tcpdump -n -U -t




Fragmentation Scan

L’idée est de diviser un paquet en plusieurs fragments IP, en fractionnant l’en-tête TCP, afin de s’infiltrer dans un système sécurisé.

Pour cet exemple, nous prendrons une autre adresse IP.

1 Ouvrez une Konsole
2. Saisissez : nmap -f xxx.xxx.xxx.xxx ( nmap -f )



Spoofed Scan

Cette technique permet de rediriger les paquets.

1. Ouvrez une Konsole
2. Saisissez : nmap -S 213.186.33.18 ( nmap -S )



Surveillance du trafic grâce au sniffer :

1. Ouvrez une Konsole
2. Saisissez : tcpdump -n -U -t

Decoy Scan

Cette technique permet de camoufler l’identité de l’attaquant.

L’attaque se présente comme invisible, jusqu’à ce que des logiciels mis en place la détectent.

Nous ne démontrerons pas cette technique.

1. Ouvrez une Konsole
2. Saisissez : nmap –D


Random Scan

L’objectif consiste à envoyer des paquets ICMP pour isoler l’ordinateur ou le serveur à distance du réseau, qui va par conséquent voir le débit de sa connexion ralentir.

1. Ouvrez une Konsole
2. Saisissez : nmap --randomize_host 213.168.33.18 ( nmap --randomize_host )




UDP Scan

Cette technique est simple car les ports qui reçoivent ce genre de paquets ne sont pas obligés de répondre. Il arrive parfois qu’il y ait des réponses de type ICMP_PORTS_UNREACH, ce qui vous donne une idée de l’état du port (ouvert ou non).

L’adresse IP pour cette exemple sera caché.

1. Ouvrez une Konsole
2. Saisissez : nmap -sU xxx.xxx.xxx.xxx ( nmap -sU )


RPC Scan

Cette technique envoie des commandes de type SunRPC. L’objectif est de récupérer le nom et la version des logiciels qui travaillent sur les ports.

L’adresse IP pour cette exemple sera caché.

1. Ouvrez une Konsole
2. Saisissez : nmap -sR xxx.xxx.xxx.xxx ( nmap -sR )




TCP Reverse Ident Scan

Permet de révéler le nom d’utilisateur d’un processus quelconque et d’obtenir des informations sur les serveurs.

1. Ouvrez une Konsole
2. Saisissez : nmap -I xxx.xxx.xxx.xxx.xxx ( nmap -I )




Slow Scan

Cette technique est utilisée pour supprimer les traces des ports, les pièges IDS, en supprimant les traces du passage du hacker. L’objectif est que les paquets qui arrivent ne soient pas détectés. La fragmentation temporaire ou Slow Scan peut être utilisée en complément de --Scan_delay.

1. Ouvrez une Konsole
2. Saisissez : nmap - -scan_delay 30 213.168.33.18
3. ( nmap - -scan_delay )



FTP Bounce Scan

Permet de se connecter à un serveur FTP qui peut se trouver derrière un pare-feu, en attendant une bonne configuration de l’administrateur pour que les pirates ne soient pas en mesure d’écrire dans les dossiers.

1. Ouvrez une Konsole
2. Saisissez : nmap -b adresseFTP :port>

Attention pas d’espace : Utilisateur :mot_de_passe>adresseFTP :port

Cette commande de tcpdump permet de capturer des communications de type Telnet, FTP, http, etc.

1. Ouvrez une Konsole
2. Saisissez : tcdump dst host

Maintenant, vous savez toutes les commandes pour Nmap et quelques unes de tcpdump.

Aucun commentaire:

Enregistrer un commentaire