Nmap

Nmap es una utilidad (licencia) gratuita y de código abierto para el descubrimiento de redes y la auditoría de seguridad. Muchos administradores de sistemas y redes también lo encuentran útil para tareas como el inventario de la red, la gestión de programas de actualización del servicio y la supervisión del tiempo de actividad del host o del servicio.

Nmap utiliza paquetes de IP sin procesar de formas novedosas para determinar qué hosts están disponibles en la red, qué servicios (nombre y versión de la aplicación) ofrecen esos hosts, qué sistemas operativos (y versiones de SO) están ejecutando, qué tipo de filtros de paquetes/firewalls están en uso y decenas de otras características.

Fue diseñado para escanear rápidamente redes grandes, pero funciona bien con hosts únicos. Nmap se ejecuta en todos los principales sistemas operativos de computadoras, y los paquetes binarios oficiales están disponibles para Linux, Windows y Mac OS X. Además del ejecutable clásico de línea de comandos Nmap, la suite Nmap incluye una GUI avanzada y un visor de resultados (Zenmap), una herramienta de depuración, redirección y transferencia de datos flexible (Ncat), una utilidad para comparar resultados de escaneo (Ndiff) y una herramienta de análisis de respuesta y generación de paquetes (Nping).

Instalación

$sudo apt install nmap

Escaneo de puertos

El programa nmap puede ejecutarse con diversas opciones, entre las cuáles, las más comunes son las siguientes:

-Pn: Treat all hosts as online -- skip host discovery
-n/-R: Never do DNS resolution/Always resolve [default: sometimes]
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
-p <port ranges>: Only scan specified ports
    Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
-sV: Probe open ports to determine service/version info
-sC: equivalent to --script=default
-T<0-5>: Set timing template (higher is faster)
--min-rate <number>: Send packets no slower than <number> per second
-oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, and Grepable format, respectively, 
    to the given filename.
-oA <basename>: Output in the three major formats at once
-v: Increase verbosity level (use -vv or more for greater effect)
--open: Only show open (or possibly open) ports

Primeramente, hacemos un scan para verificar que puertos están abiertos en el equipo.

Ejemplo:

$sudo nmap -p- –open -sS –min-rate 5000 -vvv -n -Pn 10.10.10.246 -oN allPorts

Posteriormente, en base a los puertos detectados como abiertos, hacemos un scan para ver la información de los servicios.

Ejemplo:

$sudo nmap -sCV -p22,2222,8080 10.10.10.246 -oN targeted

Podemos realizar una enumeración para el servicio http mediante el script http-enum de nmap. De ésta forma podemos localizar directorios y/o rutas interesantes en el servidor web.

Ejemplo:

$sudo nmap –script http-enum -p8080 10.10.10.246 -oN webScan