Reconocimiento con Kali: Nmap y DNS

Kali LinuxKali LinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá los aspectos esenciales del reconocimiento utilizando Kali Linux, centrándose en el escaneo de redes y las técnicas de consulta DNS. Esta experiencia práctica le guiará a través de la identificación de puertos y servicios abiertos en un sistema objetivo con 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 de nube independiente. Realizará escaneos de puertos con nmap, enumerará servicios utilizando scripts, consultará registros DNS y guardará sus hallazgos para su análisis. Cuando abra la terminal, se conectará automáticamente al shell del contenedor de Kali Linux, listo para comenzar a practicar sin necesidad de iniciar o ingresar manualmente al contenedor.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kali(("Kali")) -.-> kali/KaliGroup(["Kali"]) kali/KaliGroup -.-> kali/term_ops("Kali Terminal") kali/KaliGroup -.-> kali/file_ctrl("File Management") kali/KaliGroup -.-> kali/pkg_ops("Package Management") kali/KaliGroup -.-> kali/nmap_ops("Nmap Tool") kali/KaliGroup -.-> kali/bash_code("Bash Scripting") subgraph Lab Skills kali/term_ops -.-> lab-552298{{"Reconocimiento con Kali: Nmap y DNS"}} kali/file_ctrl -.-> lab-552298{{"Reconocimiento con Kali: Nmap y DNS"}} kali/pkg_ops -.-> lab-552298{{"Reconocimiento con Kali: Nmap y DNS"}} kali/nmap_ops -.-> lab-552298{{"Reconocimiento con Kali: Nmap y DNS"}} kali/bash_code -.-> lab-552298{{"Reconocimiento con Kali: Nmap y DNS"}} end

Instalación y Ejecución de un Escaneo Básico con Nmap

En este primer paso, aprenderá cómo instalar y usar nmap, una poderosa herramienta para el escaneo de redes, para identificar puertos abiertos en un sistema objetivo. El escaneo de puertos es una habilidad fundamental en el reconocimiento, que le ayuda a descubrir qué servicios se están ejecutando en una máquina y, potencialmente, a descubrir vulnerabilidades. Este paso está diseñado para principiantes y le guiaremos a través de cada detalle.

Cuando abra la terminal en el entorno de máquina virtual LabEx, se conectará automáticamente al shell del contenedor de Kali Linux. No es necesario iniciar manualmente el contenedor o ingresar al shell; el entorno ya está configurado para usted.

Antes de comenzar, comprendamos qué hace nmap. nmap, abreviatura de Network Mapper (mapeador de redes), es una herramienta que se utiliza 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 más profundo.

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

  1. Primero, actualice la lista de paquetes para asegurarse de que puede instalar la última versión de nmap. Escriba el siguiente comando en la terminal y presione Enter:

    apt update

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

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

    apt install -y nmap

    El flag -y confirma automáticamente la instalación sin preguntarle. Espere a que se complete la instalación; debería tomar solo un breve tiempo. Verá un resultado que indica el progreso de la instalación.

  3. Una vez que nmap esté instalado, ejecutemos un escaneo básico en localhost (su propio contenedor, dirección IP 127.0.0.1), que es un objetivo seguro para la práctica. Escriba el siguiente comando y presione Enter:

    nmap localhost

    Este comando escanea los puertos más comunes en localhost. Después de unos segundos, verá un resultado similar al siguiente (el resultado 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 este resultado, Host is up confirma que el objetivo es accesible. La tabla enumera los puertos abiertos, su estado (open significa accesible) y el servicio asociado (como http en el puerto 80). Esta información le ayuda a comprender qué servicios se están ejecutando en el sistema.

Este paso le ha introducido a la instalación y el uso de nmap para el escaneo básico de puertos. Ha dado el primer paso en el reconocimiento al identificar los puertos abiertos en un objetivo seguro. En el siguiente paso, construiremos sobre esto guardando los resultados del escaneo para un análisis más profundo. Asegúrese de sentirse cómodo ejecutando el comando nmap antes de seguir adelante.

Guardar los Resultados del Escaneo de Nmap en un Archivo

Ahora que ha realizado un escaneo básico con nmap, aprendamos cómo guardar la salida (output) de su escaneo en un archivo para referencia futura. Guardar los resultados es una habilidad esencial en el reconocimiento, que le 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úrese de haber completado el escaneo básico de nmap antes de continuar.

La redirección de salida (output redirection) en Linux le permite guardar los resultados de un comando en un archivo en lugar de mostrarlos en la terminal. Esto se hace usando 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 su área de trabajo predeterminada.

Siga estas instrucciones para guardar los resultados de su escaneo de nmap:

  1. Realice otro escaneo de nmap en localhost y redirija la salida a un archivo llamado nmap_scan.txt en el directorio /root. Escriba el siguiente comando en la terminal y presione 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á los resultados del escaneo en la terminal porque se están guardando en el archivo. Espere unos segundos para que se complete el escaneo.

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

    cat /root/nmap_scan.txt

    Debería 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 sus hallazgos durante las tareas de reconocimiento.

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

Enumeración de Servicios con Scripts de Nmap

Basándose en sus 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 fundamental del reconocimiento, ya que ayuda a identificar versiones específicas de servicios que podrían tener vulnerabilidades conocidas. Este paso asume que tiene nmap instalado y ha completado los escaneos anteriores.

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

Enumeremos los servicios en localhost siguiendo estas instrucciones:

  1. Ejecute un escaneo de nmap con detección de versiones en localhost. Escriba el siguiente comando en la terminal y presione Enter:

    nmap -sV localhost

    El flag -sV le dice a nmap que sondee los puertos abiertos para obtener información detallada sobre el servicio y la versión. Espere a que se complete el escaneo; puede tardar unos segundos más que el escaneo básico. Debería 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, puede 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. Guarde los resultados de este escaneo de detección de versiones en un archivo llamado service_scan.txt en el directorio /root. Escriba el siguiente comando y presione Enter:

    nmap -sV localhost > /root/service_scan.txt

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

  3. Confirme que la salida se guardó viendo el contenido del archivo. Escriba el siguiente comando y presione Enter:

    cat /root/service_scan.txt

    Debería ver la misma salida detallada que arriba, ahora almacenada en el archivo para referencia futura.

Este paso le ha mostrado cómo usar 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 de DNS utilizando otra herramienta. Asegúrese de comprender 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 al reconocimiento de DNS utilizando dnsrecon, una herramienta para recopilar información de DNS sobre un dominio. La enumeración de DNS ayuda a identificar subdominios, servidores de correo y otros detalles de la 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á trabajando dentro del shell del contenedor de Kali Linux.

DNS, o Domain Name System (Sistema de Nombres de Dominio), traduce nombres de dominio como example.com en direcciones IP que las computadoras usan 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 la práctica.

Siga estas instrucciones para instalar y usar dnsrecon:

  1. Actualice la lista de paquetes para asegurarse de que puede instalar la última versión de dnsrecon. Escriba el siguiente comando en la terminal y presione Enter:

    apt update

    Esto actualiza la lista de paquetes. Espere a que se complete el proceso; verá una salida que indica el progreso de la actualización.

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

    apt install -y dnsrecon

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

  3. Una vez instalado, ejecute una enumeración básica de DNS en example.com. Escriba el siguiente comando y presione Enter:

    dnsrecon -d example.com

    La opción -d especifica el dominio a consultar. Después de ejecutar el comando, verá 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 - Inicio de Autoridad): Contiene información administrativa sobre la zona.
    • NS (Name Server - Servidor de Nombres): Enumera los servidores autorizados para el dominio.
    • A (Address - Dirección): Asigna el nombre de dominio a una dirección IPv4.
    • AAAA (IPv6 Address - Dirección IPv6): Asigna el nombre de dominio a una dirección IPv6.
    • MX (Mail Exchanger - Intercambiador de Correo): Especifica los servidores de correo responsables de aceptar el correo electrónico para el dominio.
    • TXT (Text - Texto): Contiene texto arbitrario, a menudo utilizado para fines de verificación como SPF (Sender Policy Framework - Marco de Políticas del Remitente) que se muestra aquí (v=spf1 -all).
  4. Guarde los resultados de la enumeración de DNS en un archivo llamado dns_results.txt en el directorio /root. Escriba el siguiente comando y presione Enter:

    dnsrecon -d example.com > /root/dns_results.txt

    El símbolo > redirige la salida al archivo especificado. No verá los resultados en la terminal ya que se guardan directamente en /root/dns_results.txt.

  5. Confirme que la salida se guardó viendo el contenido del archivo. Escriba el siguiente comando y presione Enter:

    cat /root/dns_results.txt

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

Este paso le ha presentado el reconocimiento de DNS con dnsrecon, mostrando cómo recopilar información crítica del dominio. En el siguiente paso, combinaremos todos sus hallazgos en un único archivo de resumen. Asegúrese de que puede ver los resultados de DNS guardados antes de continuar.

Resumen

En este laboratorio, ha aprendido técnicas esenciales de reconocimiento utilizando herramientas de Kali Linux para recopilar información sobre un sistema objetivo. Comenzó 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 guardó estos resultados en un archivo para documentación. A continuación, exploró la enumeración de servicios con scripts de nmap para descubrir información detallada de la versión, seguido del reconocimiento de 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 fundamentales para las pruebas de penetración (penetration testing) y la auditoría de seguridad de redes (network security auditing).