Reconocimiento en Kali con Nmap y DNS

Kali LinuxBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderás los fundamentos del reconocimiento utilizando Kali Linux, centrándote en técnicas de escaneo de redes y consultas DNS. Esta experiencia práctica te guiará a través de la identificación de puertos y servicios abiertos en un sistema objetivo mediante nmap, una potente herramienta de escaneo de redes, y la recopilación de información DNS utilizando dnsrecon. Diseñado para principiantes, este laboratorio proporciona instrucciones paso a paso dentro de un entorno seguro de máquina virtual LabEx que se ejecuta en un host en la nube independiente. Realizarás escaneos de puertos con nmap, enumerarás servicios mediante scripts, consultarás registros DNS y guardarás tus hallazgos para su análisis. Al abrir la terminal, te conectarás automáticamente al shell del contenedor de Kali Linux, listo para comenzar a practicar sin necesidad de iniciar o ingresar al contenedor manualmente.

Instalación y ejecución de un escaneo básico con Nmap

En este primer paso, aprenderás a instalar y utilizar nmap, una potente herramienta para el escaneo de redes, con el fin de identificar puertos abiertos en un sistema objetivo. El escaneo de puertos es una habilidad fundamental en el reconocimiento, ya que te ayuda a descubrir qué servicios se están ejecutando en una máquina y a detectar posibles vulnerabilidades. Este paso está diseñado para principiantes y te guiaremos a través de cada detalle.

Cuando abras la terminal en el entorno de la máquina virtual LabEx, te conectarás automáticamente al shell del contenedor de Kali Linux. No es necesario iniciar el contenedor manualmente ni ingresar al shell; el entorno ya está configurado para ti.

Antes de comenzar, entendamos qué hace nmap. nmap, abreviatura de Network Mapper, es una herramienta utilizada para descubrir hosts y servicios en una red mediante el envío de paquetes y el análisis de las respuestas. Los puertos abiertos a menudo indican servicios en ejecución, como servidores web o SSH, que pueden ser puntos de entrada para un análisis posterior.

Ahora, instalemos nmap y realicemos un escaneo básico. Sigue estas instrucciones cuidadosamente:

  1. Primero, actualiza la lista de paquetes para asegurarte de poder instalar la versión más reciente de nmap. Escribe el siguiente comando en la terminal y presiona Enter:

    apt update
    

    Este comando actualiza la lista de paquetes disponibles. Puede tardar unos segundos en completarse y verás la salida que muestra el proceso de actualización.

  2. A continuación, instala nmap escribiendo el siguiente comando y presionando Enter:

    apt install -y nmap
    

    El indicador -y confirma automáticamente la instalación sin pedirte confirmación. Espera a que la instalación finalice; debería tomar poco tiempo. Verás la salida que indica el progreso de la instalación.

  3. Una vez instalado nmap, ejecutemos un escaneo básico en localhost (tu propio contenedor, dirección IP 127.0.0.1), que es un objetivo seguro para practicar. Escribe el siguiente comando y presiona Enter:

    nmap localhost
    

    Este comando escanea los puertos más comunes en localhost. Después de unos segundos, verás una salida similar a la siguiente (la salida real puede variar):

    Starting Nmap 7.91 ( https://nmap.org ) at ...
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00010s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE
    80/tcp   open  http
    ...
    Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
    

    En esta salida, Host is up confirma que el objetivo es alcanzable. La tabla enumera los puertos abiertos, su estado (open significa accesible) y el servicio asociado (como http en el puerto 80). Esta información te ayuda a comprender qué servicios se están ejecutando en el sistema.

Este paso te ha introducido en la instalación y el uso de nmap para el escaneo básico de puertos. Has dado el primer paso en el reconocimiento al identificar puertos abiertos en un objetivo seguro. En el siguiente paso, avanzaremos guardando los resultados del escaneo para un análisis posterior. Asegúrate de sentirte cómodo ejecutando el comando nmap antes de continuar.

Guardar los resultados del escaneo de Nmap en un archivo

Ahora que has realizado un escaneo básico con nmap, aprendamos a guardar la salida de tu escaneo en un archivo para futuras referencias. Guardar los resultados es una habilidad esencial en el reconocimiento, ya que te permite documentar los hallazgos y analizarlos más tarde sin necesidad de volver a ejecutar los escaneos. Este paso se basa directamente en el anterior, así que asegúrate de haber completado el escaneo básico con nmap antes de continuar.

La redirección de salida en Linux te permite guardar los resultados de un comando en un archivo en lugar de mostrarlos en la terminal. Esto se hace utilizando el símbolo >, que escribe la salida en un archivo especificado, sobrescribiéndolo si ya existe. Guardaremos los resultados en el directorio /root dentro del contenedor de Kali Linux, que es tu área de trabajo predeterminada.

Sigue estas instrucciones para guardar los resultados de tu escaneo con nmap:

  1. Realiza otro escaneo con nmap en localhost y redirige la salida a un archivo llamado nmap_scan.txt en el directorio /root. Escribe el siguiente comando en la terminal y presiona Enter:

    nmap localhost > /root/nmap_scan.txt
    

    El símbolo > redirige la salida del comando nmap localhost al archivo /root/nmap_scan.txt. No verás los resultados del escaneo en la terminal porque se están guardando en el archivo. Espera unos segundos a que el escaneo finalice.

  2. Para confirmar que la salida se guardó correctamente, visualiza el contenido del archivo escribiendo el siguiente comando y presionando Enter:

    cat /root/nmap_scan.txt
    

    Deberías ver una salida similar a la siguiente (la salida real puede variar):

    Starting Nmap 7.91 ( https://nmap.org ) at ...
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00010s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE
    80/tcp   open  http
    ...
    Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
    

    Esto confirma que los resultados del escaneo se guardaron correctamente en /root/nmap_scan.txt. Guardar las salidas en archivos es una forma práctica de realizar un seguimiento de tus hallazgos durante las tareas de reconocimiento.

En este paso, has aprendido a redirigir la salida de nmap a un archivo para su documentación. Esta habilidad será útil a medida que avancemos hacia técnicas de escaneo más avanzadas en el siguiente paso. Asegúrate de poder ver los resultados guardados en el archivo antes de continuar.

Enumeración de servicios con scripts de Nmap

Basándonos en tus habilidades básicas de escaneo, este paso introduce la enumeración de servicios utilizando scripts de nmap para recopilar información detallada sobre los servicios que se ejecutan en los puertos abiertos. La enumeración de servicios es una parte crítica del reconocimiento, ya que ayuda a identificar versiones específicas de servicios que podrían tener vulnerabilidades conocidas. Este paso asume que tienes nmap instalado y que has completado los escaneos anteriores.

La enumeración de servicios va más allá de simplemente encontrar puertos abiertos; su objetivo es identificar el software exacto y la versión que se ejecuta en esos puertos. nmap proporciona un motor de scripting llamado NSE (Nmap Scripting Engine), que incluye scripts preconstruidos para detectar detalles de servicios y posibles problemas. Utilizaremos el indicador -sV para la detección de versiones en este paso.

Enumeremos los servicios en localhost utilizando las siguientes instrucciones:

  1. Ejecuta un escaneo con nmap con detección de versiones en localhost. Escribe el siguiente comando en la terminal y presiona Enter:

    nmap -sV localhost
    

    El indicador -sV le dice a nmap que sondee los puertos abiertos para obtener información detallada sobre el servicio y la versión. Espera a que el escaneo finalice; puede tardar unos segundos más que el escaneo básico. Deberías ver una salida similar a la siguiente (la salida real puede variar):

    Starting Nmap 7.91 ( https://nmap.org ) at ...
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00010s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE VERSION
    80/tcp   open  http    Apache httpd 2.4.41 ((Ubuntu))
    ...
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds
    

    En esta salida, puedes ver la versión del servicio que se ejecuta en el puerto 80, como Apache httpd 2.4.41. Esta información es valiosa porque las versiones específicas pueden tener vulnerabilidades conocidas que se pueden investigar más a fondo.

  2. Guarda los resultados de este escaneo de detección de versiones en un archivo llamado service_scan.txt en el directorio /root. Escribe el siguiente comando y presiona Enter:

    nmap -sV localhost > /root/service_scan.txt
    

    Como antes, el símbolo > redirige la salida al archivo especificado. No verás los resultados en la terminal ya que se guardan directamente en /root/service_scan.txt.

  3. Confirma que la salida se guardó visualizando el contenido del archivo. Escribe el siguiente comando y presiona Enter:

    cat /root/service_scan.txt
    

    Deberías ver la misma salida detallada que arriba, ahora almacenada en el archivo para futuras referencias.

Este paso te ha mostrado cómo utilizar nmap para la enumeración de servicios, proporcionando información más profunda sobre los servicios que se ejecutan en un objetivo. En el siguiente paso, exploraremos el reconocimiento DNS utilizando otra herramienta. Asegúrate de entender cómo ejecutar escaneos de detección de versiones y guardar la salida antes de continuar.

Instalación y consulta de DNS con dnsrecon

En este paso, cambiamos el enfoque hacia el reconocimiento DNS utilizando dnsrecon, una herramienta para recopilar información DNS sobre un dominio. La enumeración DNS ayuda a identificar subdominios, servidores de correo y otros detalles de infraestructura, que son cruciales para comprender la presencia en línea de un objetivo. Este paso está diseñado para principiantes y asume que estás trabajando dentro del shell del contenedor de Kali Linux.

El DNS, o Sistema de Nombres de Dominio, traduce nombres de dominio como example.com en direcciones IP que las computadoras utilizan para comunicarse. Los registros DNS incluyen información como direcciones IP para hosts (registros A), servidores de correo (registros MX) y más. dnsrecon es una herramienta que consulta estos registros para descubrir detalles sobre la configuración de un dominio. Para este laboratorio, utilizaremos example.com como un objetivo seguro para practicar.

Sigue estas instrucciones para instalar y utilizar dnsrecon:

  1. Actualiza la lista de paquetes para asegurarte de poder instalar la versión más reciente de dnsrecon. Escribe el siguiente comando en la terminal y presiona Enter:

    apt update
    

    Esto actualiza la lista de paquetes. Espera a que el proceso finalice; verás la salida que indica el progreso de la actualización.

  2. Instala dnsrecon escribiendo el siguiente comando y presionando Enter:

    apt install -y dnsrecon
    

    El indicador -y confirma la instalación automáticamente. Espera a que la instalación finalice; debería tomar solo unos segundos. Verás la salida que muestra el progreso de la instalación.

  3. Una vez instalado, ejecuta una enumeración DNS básica en example.com. Escribe el siguiente comando y presiona Enter:

    dnsrecon -d example.com
    

    La opción -d especifica el dominio a consultar. Después de ejecutar el comando, verás una salida similar a la siguiente (la salida real puede variar):

    [*] Performing General Enumeration of Domain: example.com
    [*] DNSSEC is not configured for example.com
    [*] SOA ns.icann.org 199.4.138.53
    [*] NS ns.icann.org 199.4.138.53
    [*] A example.com 93.184.216.34
    [*] AAAA example.com 2606:2800:220:1:248:1893:25c8:1946
    [*] MX example.com 0 .
    [*] TXT example.com "v=spf1 -all"
    [*] Enumeration Complete.
    

    Esta salida muestra varios registros DNS para example.com, proporcionando información sobre su configuración:

    • SOA (Start of Authority): Contiene información administrativa sobre la zona.
    • NS (Name Server): Enumera los servidores autorizados para el dominio.
    • A (Address): Asocia el nombre de dominio con una dirección IPv4.
    • AAAA (IPv6 Address): Asocia el nombre de dominio con una dirección IPv6.
    • MX (Mail Exchanger): Especifica los servidores de correo responsables de aceptar correos electrónicos para el dominio.
    • TXT (Text): Contiene texto arbitrario, a menudo utilizado para fines de verificación como SPF (Sender Policy Framework), que se muestra aquí (v=spf1 -all).
  4. Guarda los resultados de la enumeración DNS en un archivo llamado dns_results.txt en el directorio /root. Escribe el siguiente comando y presiona Enter:

    dnsrecon -d example.com > /root/dns_results.txt 2>&1
    

    El símbolo > redirige la salida al archivo especificado, y 2>&1 captura el error estándar en el mismo archivo. dnsrecon puede imprimir detalles del escaneo en el error estándar, por lo que guardar ambos flujos de salida asegura que /root/dns_results.txt contenga los resultados completos en lugar de un archivo vacío.

  5. Confirma que la salida se guardó visualizando el contenido del archivo. Escribe el siguiente comando y presiona Enter:

    cat /root/dns_results.txt
    

    Deberías ver los mismos resultados de enumeración DNS que arriba, ahora almacenados en el archivo.

Este paso te ha introducido en el reconocimiento DNS con dnsrecon, mostrando cómo recopilar información crítica del dominio. En el siguiente paso, combinaremos todos tus hallazgos en un único archivo de resumen. Asegúrate de poder ver los resultados DNS guardados antes de continuar.

Resumen

En este laboratorio, has aprendido técnicas esenciales de reconocimiento utilizando herramientas de Kali Linux para recopilar información sobre un sistema objetivo. Comenzaste instalando y utilizando nmap para realizar un escaneo básico de puertos en un objetivo local seguro (localhost), identificando puertos abiertos y servicios asociados como el servidor web Apache que instalamos. Luego, guardaste estos resultados en un archivo para su documentación. A continuación, exploraste la enumeración de servicios con scripts de nmap para descubrir información detallada de versiones, seguido de un reconocimiento DNS utilizando dnsrecon para consultar registros de dominio para example.com. Estas habilidades fundamentales en el escaneo de redes y la recopilación de información son críticas para las pruebas de penetración y la auditoría de seguridad de redes.