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