Realizar recopilación de información con Nmap

NmapBeginner
Practicar Ahora

Introducción

En un proceso de pruebas de penetración (pentesting), la etapa de recopilación de información es una de las fases más cruciales. Este laboratorio se centra en introducir el uso de herramientas para obtener información. Cuanta más información recopiles sobre el host objetivo, mayor será la tasa de éxito de la prueba de penetración. En el sistema Kali, algunas herramientas de penetración vienen preinstaladas. Al utilizar estas herramientas, te familiarizarás gradualmente con los pasos básicos para recopilar información.

Este curso es un tutorial de laboratorio práctico. Para ayudar a comprender algunas operaciones en el laboratorio, se añadirá contenido teórico sobre seguridad de la información y se recomendarán los artículos más valiosos para que los leas mientras practicas.

Escanear puertos abiertos en el host objetivo

En este paso, presentaremos cómo utilizar herramientas para escanear los puertos abiertos en el host objetivo.

En el proceso de pruebas de penetración, es necesario comprender qué puertos están abiertos en el host objetivo. En Kali Linux, se proporcionan dos herramientas de escaneo de puertos predeterminadas: Nmap y Zenmap. Introduciremos principalmente el uso de estas dos herramientas.

Primero, iniciemos el entorno de laboratorio. La máquina host es Ubuntu (el escritorio al que estás conectado actualmente), con entornos virtuales Docker y QEMU instalados. Estos proporcionan soporte de plataforma para el contenedor Kali Linux y la máquina objetivo Metasploitable2, respectivamente.

En la máquina host de LabEx, inicia Metasploitable2 haciendo doble clic en la terminal xfce del escritorio e ingresando el siguiente comando en la terminal:

sudo virsh start Metasploitable2

Espera a que la máquina objetivo se inicie; puede tardar de 1 a 3 minutos.

Haz ping a la máquina objetivo para asegurarte de que está funcionando (presiona Ctrl-C para salir del ping):

ping 192.168.122.102

Ahora, iniciemos el contenedor Kali y entremos en la interfaz bash, ejecuta la operación de ping para verificar la conectividad de red:

docker run -ti --network host b5b709a49cd5 bash

Ahora, podemos ejecutar la operación de ping para verificar la conectividad de red (presiona Ctrl-C para salir del ping):

ping 192.168.122.102

Ahora ambos entornos de laboratorio están iniciados y podemos comenzar con la prueba de penetración.

Nota: Si sales accidentalmente del bash actual, el contenedor Kali se detendrá automáticamente. Puedes ejecutar el comando docker run -ti --network host b5b709a49cd5 bash nuevamente en la máquina host para iniciar un nuevo contenedor Kali y entrar en bash para continuar con las operaciones del laboratorio.

Herramienta de escaneo de puertos TCP: Nmap

Nmap es un programa de exploración de red y escaneo de seguridad. Los administradores de sistemas y particulares pueden utilizar este software para escanear redes grandes y obtener información sobre qué hosts están activos y qué servicios están proporcionando.

Nmap admite muchas técnicas de escaneo, como UDP, TCP Connect(), TCP SYN (escaneo semiabierto), FTP proxy (ataque de rebote), Idle scan, ICMP, FIN, ACK scan, Xmas Tree, SYN scan y Null scan.

Nmap incluye cuatro funciones básicas:

  • Descubrimiento de hosts
  • Escaneo de puertos
  • Detección de versiones
  • Detección de sistemas operativos

Utiliza la herramienta nmap e ingresa el siguiente comando para realizar un escaneo de puertos y obtener información sobre los puertos abiertos en la máquina objetivo:

nmap 192.168.122.102

Zenmap: Una interfaz gráfica de usuario para Nmap

Zenmap es una interfaz gráfica de usuario oficial basada en Nmap, desarrollada por el proyecto Nmap. Zenmap es una interfaz gráfica gratuita y de código abierto escrita en Python, que puede ejecutarse en diferentes plataformas de sistemas operativos (Windows/Linux/Unix/Mac OS, etc.). Zenmap tiene como objetivo proporcionar un método de operación más sencillo para Nmap. Las operaciones comunes se pueden guardar como perfiles, y los usuarios pueden seleccionar un perfil durante el escaneo, lo que facilita la comparación de diferentes resultados de escaneo. También proporciona una visualización gráfica de la topología de la red.

Nota: El entorno de LabEx utiliza el contenedor Kali, por lo que la interfaz gráfica no se puede utilizar en este momento.

Obtener información básica sobre el host objetivo

En este paso, practicaremos cómo utilizar herramientas para obtener información básica sobre el host objetivo, como el sistema operativo.

En esta etapa, necesitamos recopilar tanta información básica como sea posible sobre el sistema operativo del host objetivo. Esto aumentará la tasa de éxito de la prueba de penetración. La recopilación de información se refiere a la toma de huellas digitales (fingerprinting), y a herramientas de fingerprinting activo como los parámetros -O y -sV en nmap. El fingerprinting, aunque suena avanzado, es simplemente identificar la versión del sistema operativo y la versión de la aplicación del host objetivo para ayudarnos a detectar más vulnerabilidades a nivel de sistema operativo y de aplicación.

Herramientas de fingerprinting activo

Para obtener el sistema operativo del host objetivo, utiliza el siguiente comando:

nmap -O 192.168.122.102

En la terminal de Kali, ejecuta el comando para ver la información de la máquina objetivo. La dirección IP de la máquina objetivo es 192.168.122.102:

Para obtener la información del servicio de puerto del host objetivo, utiliza el siguiente comando:

nmap -sV 192.168.122.102

Herramientas de fingerprinting pasivo

Las herramientas de fingerprinting pasivo, como p0f, no envían datos de sondeo específicos al objetivo, sino que reciben y analizan datos de forma pasiva. Generalmente son indetectables.

p0f es potente en el análisis de red y se puede utilizar para analizar NAT, equilibrio de carga, proxies de aplicaciones y más.

La información principal identificada por p0f incluye:

  • Tipo de sistema operativo, puerto
  • Si se ejecuta en modo NAT
  • Si se ejecuta detrás de un firewall
  • Si se ejecuta en modo de equilibrio de carga

En la terminal de Kali, ejecuta el siguiente comando para usar p0f y observar el host objetivo. La palabra clave host es necesaria porque p0f espera una expresión de filtro de paquetes válida:

p0f host 192.168.122.102

Escaneo sigiloso (Escaneo TCP semiabierto)

En la terminal de Kali, ejecuta el comando para realizar un escaneo sigiloso:

nmap -sS 192.168.122.102

La ventaja de este método es que es difícil de detectar y tiene un alto nivel de sigilo. Generalmente no deja un registro en la computadora objetivo.

Escaneo TCP Connect

En la terminal de Kali, ejecuta el comando para realizar un escaneo TCP connect:

nmap -sT 192.168.122.102

Este tipo de escaneo será registrado por la mayoría de los sistemas, pero puede proporcionar más información que un escaneo sigiloso.

Obtener información de servicios de red del sitio objetivo

En este paso, obtendremos la información de los servicios de red proporcionados por el sitio objetivo.

Obtener información de servicios de red

Recopilar más información sobre los servicios de red del host objetivo ayudará a aumentar la tasa de éxito de la prueba de penetración.

Abre el navegador Firefox e ingresa http://192.168.122.102 en la barra de direcciones. Si todo va bien, verás lo siguiente:

Página de inicio del sitio objetivo de LabEx

Escanear puertos específicos en el host objetivo con amap

amap se utiliza para escanear puertos específicos en un host. En la terminal de Kali de LabEx, ingresa el comando para escanear el puerto 21 en el host objetivo:

amap -bqv 192.168.122.102 21

Enumeración de usuarios con smtp-user-enum

La herramienta smtp-user-enum se utiliza principalmente para la enumeración de usuarios SMTP. En la terminal de Kali de LabEx, ingresa el comando para enumerar usuarios SMTP:

smtp-user-enum -M VRFY -u root -t 192.168.122.102

Resumen

En este laboratorio, hemos practicado el uso de varias herramientas de seguridad comunes para recopilar información sobre el host objetivo, cubriendo los siguientes puntos de conocimiento:

  • Uso de herramientas para escanear los puertos abiertos en el host objetivo
  • Obtención de información básica sobre el host objetivo, como el sistema operativo
  • Obtención de información de servicios de red proporcionados por el sitio objetivo
  • Análisis de la información recopilada para identificar posibles vectores de ataque

A lo largo del laboratorio, hemos aprendido a utilizar diferentes herramientas para recopilar información, lo cual es un paso crucial en el proceso de pruebas de penetración. Al dominar estas herramientas y técnicas, podemos aumentar la tasa de éxito de la prueba de penetración al recopilar información más valiosa sobre el host objetivo.