Enumeración y escaneo

Nmap: Haciendo la vida más fácil desde 1997. (Parte I)

Empezaremos hablando un poco de la historia sobre la herramienta Nmap (Network Mapper). Nmap, es una herramienta de exploración de red, escaneo de puertos, vulnerabilidades y es un gran apoyo a las auditorías de seguridad, su uso es gratuito y además de código abierto. Fue creada por Fyodor, allá por el 97, y desde entonces ha sido el encargado de mantener y mejorar la herramienta.
Nmap, es muy utilizada por los sysadmins para realizar tareas, por ejemplo de monitorización de los sistemas en la empresa, inventarios de los equipos conectados a la red, etc. Lo que realmente hace efectiva la herramienta es el soporte a prácticamente todos los sistemas operativos más utilizados: Windows, Linux, MacOs, FreeBSD, etc… Nosotros, nos vamos a basar únicamente en Linux, más concretamente en la distro Kali Linux 2016.
En el siguiente tutorial, se va a ver de una manera genérica la utilización de la herramienta, descrita paso a paso para su uso, si bien es verdad que se pueden hacer muchísimas más cosas, vamos a centrarnos en el uso más frecuente.
El índice será el siguiente:
1º. Instalación
2º. Primeros pasos con Nmap
3º. Objetivos
4º. Exploración de hosts
5º. Modos de escaneo
6º. Uso de comandos (versión OS, servicios, puertos…)
7º. Guardar datos de exploración
8º. Otros comandos de uso 

Instalación: 
– Para realizar la instalación es muy sencillo, aunque en Kali Linux viene por defecto, por si no lo tuvieramos sería de la siguiente manera, con el comando: apt-get install nmap. En caso de no ser root, tendríamos que poner SUDO antes del comando de arriba.

Primeros pasos con Nmap:
– Ya lo tenemos instalado, ahora vamos a ver que puede hacer. En este mini tutorial, lo que he hecho ha sido instalar una máquina para hacerlo, en éste caso ha sido la máquina metasploitable2, con la que más adelante se podrán hacer PoC, y habrán cosas divertidas para poder romper mano. Para saber la IP de la máquina metasploitable sólo basta con poner el comando ifconfig, y nos saldrá.


En la imagen he explicado lo que se vería en una primera exploración.

Métodos de exploración:

Voy a explicar brevemente lo que se va a ver a continuación, y es el método que se usa para establecer la conexión, en este caso el saludo o negociación a 3 pasos.

De una forma muy fácil y poco detallada, podemos ver de un vistazo en términos generales, como funciona los pasos abajo explicados. También he puesto unas trazas para que realmente veamos las conexiones que se establecen.

-Voy a explicar un 2 métodos de exploración, aunque existen bastantes más que iremos viendo en los siguientes tutoriales.

 Este es el método más utilzado, y el que recomiendo de utilzar siempre. ¿Por qué? Por que es el más sigiloso que hay, y si hubiera algun sistema IDS, podría no detectarlo. Que significa eso? Fácil, es como si vas a casa de alguien, llamás a la puerta y te escondes, entonces puedes ver si abre la puerta y sabes que hay alguien, o si no abren la puerta sabes que no hay. Ponemos un ejemplo.

Metodo SYN Scan

Ponemos la traza para que ver que hace.

Ahí se ve perfectamente lo que hemos dicho arriba. Envía un SYN, recibe un SYN/ACK, y finalmente hace un RST. Eso hace que reseteé la conexión antes de terminar, y así los sistemas operativos no lo tratan como tal, y no guardan logs en el que nos detecte.

Ahora veremos otro ejemplo con TCP-CONNECT

 Y ahora su traza es la siguiente:

Vemos como hace el ciclo completo, y luego, el RST.

Detección S.O.

-Vamos a ver como se puede detectar el sistema operativo que usa la máquina victima.

Se puede ver que está corriendo una versión Linux con la versión 2.6.x, y detalla que puede estar la versión entre la 2.6.9 y 2.6.33.

A parte, hemos seleccionado el puerto 22 para que lo escaneé, con el comando -p.

Detección versiones:

-Ahora veremos como detectar la versión de los servicios que usa.

Aquí ya vemos que la version del servicio ssh, es OPEN SSH 4.7.

Selección de puertos:

Si queremos seleccionar unos puertos concretos, podemos separarlos por «,» y si quieremos que sean por rangos, los separaremos por una «-«.

Guardar información:

Queremos guardar la información obtenida en un archivo de texto, pues entonces ponemos el siguiente comando.

Ahora que hemos visto un poco la introducción a Nmap, vamos a ver un ejemplo con todo lo aprendido.

Voy a diseccionar el comando por partes:

-sS -> Método sigiloso
-sV -> Listar versión
-O -> Info S.O.
-v -> Detalle de la info mientras se ejecuta.
-iL -> Selección de un archivo si queremos escanear varias IP’s o direcciones.
-p -> Selección de puertos, en este caso separados por con «,».
-oN -> Salvar los datos que nos aparecen en el terminal.

Y hasta aquí la primera parte de una herramienta que puede no tener fin. Toda la información que se detalla es muy importante a la hora de hacer pentesting, ya que nos está dando información de por donde podemos atacar a la victima, en este caso se ve claramente muy puntos de ataques que iremos viendo más adelante.

A disfrutar!!!

Rubén Gutiérrez
@rgutga
www.cursohackingeticorabbithutch.tk

2 comentarios en “Nmap: Haciendo la vida más fácil desde 1997. (Parte I)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Los datos introducidos se guardarán en nuestra base de datos como parte del comentario publicado, como se indica en la política de privacidad.