Nmap

specifications nmap

Détection de services et de versions

S
upposons que Nmap vous ai signalé que les ports 25/tcp, 80/tcp et 53/udp d'une machine distante sont ouverts. En utilisant sa base de données nmap-services d'environ 2 200 services bien connus, Nmap indique que ces ports correspondent probablement à un serveur de messagerie (SMTP), un serveur Web (HTTP) et un serveur de noms (DNS), respectivement. Cette consultation est souvent pertinente -- une vaste majorité des démons écoutant sur le port 25, étant bien des serveurs de messagerie.

C
ependant, en sécurité, il ne faudrait pas trop parier là-dessus ! Les gens peuvent lancer des services sur des ports bizarres et ils le font effectivement.
Même si Nmap a raison, et que les serveurs hypothétiques du dessus sont bien des serveurs SMTP, HTTP et DNS, ce n'est pas très utile. Lors d'audit de sécurité (ou bien lors de simples inventaires de réseau) de votre entreprise ou de clients, vous voulez réellement savoir de quels serveurs de messagerie et de noms il s'agit, ainsi que leurs versions.

C
onnaître avec précision le numéro de version aide considérablement à déterminer à quels exploits un serveur est vulnérable. La détection de version vous permet d'obtenir une telle information. Après avoir découvert les ports TCP ou UDP par une des méthodes de scan, la détection de version interroge ces ports pour savoir quelle version tourne actuellement. La base de données nmap-service-probes contient les tests à effectuer selon les services, ainsi que les chaînes de caractères auxquelles comparer les réponses.

N
map essaie de déterminer le protocole (p. ex.: ftp, ssh, telnet, http), le nom de l'application (p. ex.: ISC Bind, Appache httpd, Solaris telnetd), le numéro de version, le nom d'hôte, le type d'équipement (p. ex.: imprimante, routeur), la famille d'OS (p. ex.: Windows, Linux) et quelquefois des détails divers (p. ex.: si un serveur X accepte ou non des connexions, la version du protocole SSH, le nom d'utilisateur KaZaA).

B
ien sûr, la plupart des services ne fournissent pas autant d'informations. Si Nmap a été compilé avec le support de OpenSSL, il se connectera aux serveurs SSL pour déduire le service écoutant derrière la couche de cryptage. Quand des services RPC sont découverts, la moulinette RPC de Nmap (-sR) est automatiquement utilisée pour déterminer le programme RPC et sa version. Des ports peuvent rester dans l'état ouvert|filtré lorsqu'un scan de ports UDP a été incapable de déterminer si le port était ouvert ou fermé.

L
a détection de version tentera d'obtenir une réponse de ces ports (comme s'ils étaient ouverts), et changera l'état à ouvert si elle y parvient. Les ports TCP ouverts|filtré sont traités de la même façon. Notez que l'option-Ade Nmap active notamment la détection de version. Un papier documentant le fonctionnement, l'utilisation et la personnalisation de la détection de version est disponible à http://www.insecure.org/nmap/vscan/.

L
orsque Nmap reçoit une réponse d'un service mais ne parvient pas à le faire correspondre à un service de sa base de données, il affiche une empreinte et une adresse URL où vous pouvez l'envoyer si vous êtes sûr de ce qui tourne sur ce port. Prendre quelques minutes pour faire cette soumission permettra à tout le monde de bénéficier de votre découverte. Grâce à ces soumissions, Nmap dispose d'environ 3 000 empreintes de référence liées à plus de 350 protocoles, comme smtp, ftp et http.

La détection de version est activée et contrôlée grâce aux options suivantes:

-sV (Détection de version) : Active la détection de version, tel que discuté ci-dessus. Autrement, vous pouvez utiliser l'option -A pour activer à la fois la détection de version et celle du système d'exploitation.

--allports (tous les ports)(N'exclut aucun port de la détection de version)

Par défaut, la détection de version de Nmap évite le port TCP 9100 car certaines imprimantes impriment tout bonnement tout ce qui est envoyé sur ce port, ce qui conduit à l'impression de douzaines de pages de requêtes HTTP, des requêtes de sessions SSL en binaire, etc. (ce qui est particulièrement furtif). Ce comportement peut être changé en modifiant ou en supprimant la directive Exclude du fichier nmap-service-probes, ou en spécifiant l'option --allports pour scanner tous les ports sans tenir compte d'aucune directive Exclude.

--version-intensity (Sélectionne l'intensité du scan de version)
Lors d'un scan de version (-sV), Nmap envoie une série de paquets de tests, à chacun duquel est associé une valeur de rareté allant de 1 à 9. Les tests aux basses valeurs sont efficaces pour une grande variété de services courants, tandis que les hautes valeurs indiquent ceux qui ne sont que rarement utiles. Le niveau d'intensité spécifie quels tests doivent être effectués. Plus la valeur est haute, plus le service a de chances d'être correctement identifié. Cependant, ces scans-ci sont plus longs. La valeur d'intensité doit être comprise entre 0 et 9, la valeur par défaut étant le 7. Quand un test est inscrit sur le port cible par le biais de la directive nmap-service-probes ports, ce test est tenté quelque soit le niveau d'intensité. Cela permet de s'assurer que les tests DNS seront toujours tentés sur chaque port 53 ouvert, les tests SSL sur chaque 443, etc.

--version-light (Active le mode léger) : Il s'agit d'un raccourci pour --version-intensity 2. Ce mode léger rend le scan de version bien plus rapide, mais il est un peu moins susceptible d'identifier les services.

--version-all (Essaie chaque test possible) : Il s'agit d'un raccourci pour--version-intensity 9forçant chaque test unitaire à être testé contre chaque port.

--version-trace (Trace l'activité du scan de version) : Ceci force Nmap à afficher un nombre considérable d'informations de débogage à propos de ce que fait le scan de version. Il s'agit d'un sous-ensemble de ce que vous obtenez avec l'option --packet-trace.

-sR (Scan RPC) : Cette méthode fonctionne conjointement avec les différentes méthodes de scan de Nmap. Il prend tous les ports TCP/UDP ouverts et les submerge avec les commandes NULL du programme SunRPC dans le but de déterminer s'il s'agit de ports RPC, et le cas échéant, de quel programme et quel numéro de version il s'agit. Vous pouvez aussi obtenir les mêmes informations avec rpcinfo -p, et ce, même si le mapper de port (portmapper) de la cible se trouve derrière un pare-feu (ou protégé par des wrappers TCP). Les leurres ne fonctionnent pas avec le scan RPC. Cette option est automatiquement activée par le scan de version (-sV). Comme la détection de version inclus le scan RPC, et est bien plus complète, on a rarement besoin de l'option -sR.

Détection de systèmes d'exploitation

L
'une des fonctions les plus connues de Nmap est la détection de systèmes d'exploitation utilisant la prise d'empreinte de la pile TCP/IP. Nmap envoie une série de paquets TCP et UDP à l'hôte distant puis examine presque chaque bit des réponses. Après quelques douzaines de tests comme l'échantillonnage des séquences TCP (ISN sampling), l'ordonnancement et le support d'options TCP, l'échantillonnage IPID et la vérification de la taille initiale de fenêtre, Nmap compare les résultats avec sa base de données d'empreintes,nmap-os-fingerprints contenant plus de 1 500 empreintes de systèmes d'exploitation connus afin d'afficher finalement ses conclusions s'il trouve correspondance.

C
haque empreinte contient une description en texte libre du système d'exploitation ainsi qu'une classification qui fournit le nom du développeur (p. ex. : Sun), le système proprement dit (p. ex. : Solaris), sa génération (p. ex. : 10) et le type d'interface (généraliste, routeur, switch, console de jeu, etc.).

Si Nmap n'est pas capable de déterminer le système d'exploitation d'une machine et si les conditions sont acceptables (p. ex. : au moins un port ouvert et un port fermé ont été trouvés), Nmap fournira une adresse URL que vous pouvez utiliser afin de transmettre cette empreinte si vous connaissez avec certitude le système d'exploitation qui tourne sur cette machine. Ce faisant, vous contribuez grandement au panel de systèmes d'exploitation reconnus par Nmap et lui permettez d'être plus performant pour chacun.

L
a détection du système d'exploitation met en oeuvre un certain nombre de tests annexes utilisés de toute façon durant le processus global. L'un d'eux est la mesure de l'uptime, qui utilise l'option TCP timestamp (RFC 1323) afin de déterminer si une machine a été redémarrée récemment. Il n'en est fait mention que dans le cas où cette machine fournie cette information. Un autre test consiste en la Classification de la Prédictabilité de Séquence TCP (TCP Sequence Predictability Classification) qui mesure approximativement la difficulté d'établir une connexion en TCP forgée préalablement en direction de l'hôte distant. Ce test est utile dans le cas d'exploitation de la relation de confiance basée sur l'IP (cas du rlogin, des filtres de pare-feux, etc.) ou dans le but de cacher la source d'une attaque. Ce genre de mystification (spoofing) est rarement effectué quoi qu'il en soit, mais beaucoup de machines y sont toujours sensibles. La valeur indiquant la difficulté est basée sur un échantillonnage statistique et peut ainsi varier. Il est préférable d'employer une classification anglo-saxonne telle que "worthy challenge" , vraiment difficile, ou "trivial joke", qui est très facile. Ceci n'est indiqué dans une sortie de type normale qu'en mode verbeux (verbose mode, -v). Lorsque le mode verbeux est utilisé avec l'option -O, la génération de séquence IPID est aussi précisée. La plupart des machines sont de classe incrémentielle, "incremental", ce qui signifie qu'elles incrémentent le champ ID de l'en-tête IP pour chaque paquet qu'elles envoient. Ceci les rend vulnérables à différentes techniques avancées de collecte d'informations et de mystification (usurpation d'identité).

Un article décrivant l'usage, le réglage et le fonctionnement de la détection de version est disponible dans plus d'une douzaine de langues sur le site http://www.insecure.org/nmap/osdetect/.

La détection de systèmes d'exploitation est activée et contrôlée avec les options suivantes :

-O (Active la détection du système d'exploitation)

Active la détection du système d'exploitation, tel que discuté ci-dessus. Vous pouvez aussi utiliser l'option -A pour activer à la fois la détection du système d'exploitation et la détection de la version.

--osscan-limit (Limite la détection du système d'exploitation aux cibles potentielles)

La détection du système d'exploitation est bien plus efficace si au moins un port ouvert et un port fermé sont trouvés. Utilisez cette option et Nmap ne tentera pas d'effectuer la détection contre des hôtes qui ne remplissent pas cette condition. Ceci peut faire gagner pas mal de temps, particulièrement dans le cas de scans -P0 contre de nombreux hôtes. C'est évidemment seulement important lorsque la détection du système d'exploitation est demandée au moyen de l'option -O ou -A.

--osscan-guess; --fuzzy (Prédire un résultat de détection du système d'exploitation)

Lorsque Nmap est incapable de trouver une correspondance parfaite pour le système d'exploitation, il propose souvent les correspondances les plus proches. La correspondance doit être très proche afin que Nmap puisse effectuer cette procédure par défaut. L'une ou l'autre de ces options (équivalentes) force Nmap à être plus agressif dans sa prédiction.

Exemple : nmap --osscan_guess -sS -O -p 19-26 -n -P0 192.168.1.1
specifications nmap

Source : www.insecure.org

© latarteauchips 2024
Volet automatique | Les amis des loisirs : Sorties spectacles paris| Chalet Vosges | Bioénergétique | Visites Paris |
artisan web
achat cash de votre mobile et recyclage telephone
Revendez vos mobiles chez Mister Reprise
Astuces & trucs
Css
Divertissement
Html
Javascript
Linux
Outils
Php
Scripts
Sécurité failles
setia industrie logo
Setia Industries