Hola de nuevo a tod@s
Disculpen ausentarme un poco… 19
Esta vez vengo con la idea de que trabajemos en un laboratorio para practicar los diferentes tipos de Scanning que podemos realizar con NMAP. Para este laboratorio, vamos a requerir de maquinas virtuales que actuaran en diferentes «bandos», utilizaremos la MV de Kali-Linux para realizar el scanning, y utilizaremos un Windows 2003 Server, Metaexploitable2 y Windows 7… Todas estas maquinas se trabajaran desde Vmware, las cuales estarán configuradas con su interfaz de red en NAT.
Sin mucho mas que escribir, comencemos…
La fase de Scanning es la segunda fase del Pentesting. Despues de la fase de escaneo de puertos:
Nota: La dirección IP que le fue asignada a mi MV de Kali fue la: 192.168.23.129, lo cual quiere decir que trabajaremos sobre el segmento de red: 192.168.23.0/24,
1.Ping Sweep:
Lo primero que debemos realizar en nuestra fase de scanning, es un ping sweep, el cual nos permitirá identificar los host que se encuentren activos en la red a la cual estoy conectado.
el comando que utilizaremos para realizar nuestro ping sweep, sera:
# nmap -sP «segmento de red»
La opcion -sP nos permite hacer un PING desde la 192.168.23.1, hasta la 192.168.23.254.
En la imagen anterior vemos, como los host que respondieron a nuestro ping sweep, lo cual nos indica que están activos en nuestra red.
Host Activos:
- 192.168.23.2
- 192.168.23.130
- 192.168.23.131
- 192.168.23.254
- 162.168.23.129 (propio)
2. Port Scanning / Escaneo de Puertos
Tiene como propósito lo siguiente:
- Escaneo de Puertos: Se realiza el envió de paquetes a un host, para identificar el estado de los puertos TCP y UDP
- Posibles estados de un puerto: Abierto-Cerrado-Filtrado.
- Identificar Servicios por Puerto: Identificar vulnerabilidades en los servicios que se ejecutan sobre puertos abiertos.
- Sistema Operativo de Host: Información importante acerca de nuestra «victima», posibles vulnerabilidades.
Veamos un ejemplo, con uno de los host que encontramos activos en nuestro ping sweep.
# nmap «direccion ip objetivo»
El anterior comando nos permitirá analizar el estado de los puertos de la maquina objetivo.
En la imagen anterior vemos como el comando nos despliega la lista de puertos que se encuentran abiertos en nuestro host objetivo (OJO: Abierto no quiere decir que sea vulnerable).
De la manera anterior podemos, evaluar el estado de los puertos de diferentes dispositivos, no necesariamente PC. Switch, Routers, etc.
Para la imagen anterior, vemos que el puerto 80 (http), se encuentra abierto, lo cual implica que si ingresamos en nuestro navegador la direccion ip de nuestro host objetivo, deberia desplegarnos algo… veamos..
Ya de esta manera, podemos evidenciar que lo que esta ejecutandose en nuestro host objetivo, en su puerto 80, un servidor WEB llamado XAMPP en su versión para WINDOWS, lo cual nos da el SO que se encuentra instalado en nuestro Host objetivo.
Vemos tambien los servicios que estan ejecutanse en cada uno de los puertos que se encuentran abiertos.
3.Versiones
El siguiente comando nos permitira conocer la version del servicio que se esta ejecutando en dicho puerto:
# nmap -sV «direccion ip objetivo»
Veamos a continuación:
Vemos la versión de los servicios que se estan ejecutando, esta información es de mucha utilidad, ya que durante nuestra fase de explotación, encontraremos vulnerabilidades en algunas VERSIONES de diferentes servicios.
4. UDP Scanning
Los anteriores comandos los utilizamos para realizar el scanning de los puertos TCP de nuestro host objetivo, ahora veamos el comanto utilizado para scanear los puertos UDP
# nmap -sU «direccion ip objetivo»
Veamos…
En la imagen anterior vemos el estado y los servicios que se estan ejecutando sobre los puertos UDP del host.
Otras opciones
-O: Este comando nos permite tratar de reconocer el Sistema Operativo que se encuentra instalado en nuestra Host Objetivo.
# nmap -O «direccion ip objetivo»
-P: Este comando nos permite indicar un puerto o un rango de puertos que deseamos escanear
# nmap -p»numero de puerto» «direccion ip objetivo»
5. Técnicas de explotación de puertos
Nota: Recomiendo leer un poco acerca del three way handshake, antes de continuar con lo siguiente.
5.1 TCP Connect Scan: Se llama de esta manera, puesto que implementa una llamada al sistema de tipo Connect, para confirmar el estado del puerto. Esta técnica es muy ruidosa, lo cual hace que pueda ser detectada por dispositivos como IDS o Firewall. Sin embargo, es muy efectiva, es decir sus resultados casi siempre son acertados.
TCP Connect: Puerto Cerrado:
TCP Connect: Puerto Abierto:
Para los ejemplos mostrare, el comando y la captura en Wireshark:
Comando:
# nmap -sT «direccion ip objetivo» «numero de puerto»
Puerto Cerrado
Veamos de manera practica lo descrito en las imágenes, lo anterior, describe que si el puerto al cual enviamos el Paquete SYN, se encuentra cerrado el responderá con un RST, lo cual cerrara el canal entre ambos host.
El puerto 8080, se encuentra cerrado en este host, como podemos observar a continuación:
Ahora vemos la respuesta del host en Wireshark
Puerto Abierto
En la imagen en la cual describen el funcionamiento de TCP Connect se muestra la respuesta que tendra el host en los puertos abiertos veamos, como se visualiza en Wireshark, dicha respuesta.
5.1 TCP SYN Scan: Se envía al objetivo un paquete de inicio de conexión de tipo SYN, Si se recibe como respuesta un RST/ACK, significa que no existe ningún servicio que este activo en este puerto. Diferente es si se recibe un SYN/ACK, esto nos confirma que hay un servicio ejecutandose en el puerto, si este es el caso, se enviará por parte del atacante un paquete RST/ASK para no establecer conexión y no ser registrado por el SO.
Esta técnica no es tan ruidosa, ya que no culmina el proceso de intercambio de tres vías, de esta manera, algunos dispositivos como Firewalls y IDS, no la registraran.
TCP SYN Scan, Puerto Cerrado:
TCP SYN Scan, Puerto Abierto:
Veamos ahora de manera practica, lo descrito en las imágenes anteriores:
Comando:
# nmap -sS «direccion ip objetivo» «numero de puerto»
Puerto Cerrado
En los descrito en la imagen, informa que si el puerto se encuentra cerrado, una vez el atacante envié la trama SYN, el host objetivo responderá con un RST, finalizando la conexión.
Ahora vemos la respuesta del host en Wireshark
Puerto Abierto
Siguiendo la imagen descrita anteriormente, el host objetivo, responde con una trama SYN/ACK, a la cual se responde con un RST para no culminar el intercambio y evitar ser detectado.
y en Wireshark…
De esta manera finalizamos el post de hoy… Tengo pendiente realizar otro laboratorio de Scannig y de Análisis de vulnerabilidades…
Esten pendientes por favor…
Un Saludo…
NEOX! (me)