Reconocimiento en Kali con Nmap y DNS

Kali LinuxBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá los conceptos esenciales del reconocimiento utilizando Kali Linux, enfocándose en técnicas de escaneo de redes y consultas 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 mediante dnsrecon. Diseñado para principiantes, este laboratorio ofrece instrucciones paso a paso dentro de un entorno seguro de VM en LabEx que se ejecuta en un host de nube independiente. Realizará escaneos de puertos con nmap, enumerará servicios mediante scripts, consultará registros DNS y guardará sus hallazgos para su posterior análisis. Al abrir la terminal, se conectará automáticamente a la shell del contenedor de Kali Linux, listo para comenzar a practicar sin necesidad de iniciar o entrar manualmente al contenedor.

Este es un Laboratorio Guiado, que proporciona instrucciones paso a paso para ayudarle a aprender y practicar. Siga las instrucciones cuidadosamente para completar cada paso y ganar experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 87%. Ha recibido una tasa de valoraciones positivas del 100% por parte de los alumnos.

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

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

Al abrir la terminal en el entorno de VM de LabEx, se conectará automáticamente a la shell del contenedor de Kali Linux. No es necesario iniciar el contenedor ni entrar en la shell manualmente; el entorno ya está configurado para usted.

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 suelen indicar 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 versión más reciente 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á una salida 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 parámetro -y confirma automáticamente la instalación sin preguntarle. Espere a que la instalación finalice; debería tomar poco tiempo. Verá una salida indicando el progreso de la instalación.

  3. Una vez instalado nmap, realicemos un escaneo básico en localhost (su propio contenedor, dirección IP 127.0.0.1), que es un objetivo seguro para practicar. 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á 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 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 puertos abiertos en un objetivo seguro. En el siguiente paso, avanzaremos guardando los resultados del escaneo para un análisis posterior. Asegúrese de sentirse cómodo ejecutando el comando nmap antes de continuar.

Guardar los resultados del escaneo de Nmap en un archivo

Ahora que ha realizado un escaneo básico con nmap, aprenderemos a guardar la salida de su escaneo en un archivo para futuras consultas. Guardar los resultados es una habilidad esencial en el reconocimiento, ya 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 proceder.

La redirección de salida en Linux le 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 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 redireccione 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 > redirecciona 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 a que el escaneo finalice.

  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 con éxito en /root/nmap_scan.txt. Guardar las salidas en archivos es una forma práctica de llevar un registro de sus hallazgos durante las tareas de reconocimiento.

En este paso, ha aprendido a redireccionar la salida de nmap a un archivo para su documentación. Esta habilidad será útil a medida que pasemos 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

Aprovechando 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 crítica 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 exacto y la versión que se ejecuta en esos puertos. nmap proporciona un motor de scripts llamado NSE (Nmap Scripting Engine), que incluye scripts preconfigurados para detectar detalles del servicio y posibles problemas. Utilizaremos el parámetro -sV para la detección de versiones en este paso.

Vamos a enumerar 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 parámetro -sV le indica a nmap que sondee los puertos abiertos para obtener información detallada del servicio y su versión. Espere a que el escaneo finalice; 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 versiones específicas pueden tener vulnerabilidades conocidas que pueden investigarse 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 > redirecciona 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ó visualizando el contenido del archivo. Escriba el siguiente comando y presione Enter:

    cat /root/service_scan.txt

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

Este paso le ha mostrado cómo usar nmap para la enumeración de servicios, proporcionando una visión más profunda de los servicios que se ejecutan en un objetivo. En el siguiente paso, exploraremos el reconocimiento DNS utilizando otra herramienta. Asegúrese de comprender cómo ejecutar escaneos de detección de versiones y guardar la salida antes de seguir adelante.

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 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 de la 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 la práctica.

Siga estas instrucciones para instalar y usar dnsrecon:

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

    apt update

    Esto actualiza la lista de paquetes. Espere a que el proceso finalice; 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 parámetro -y confirma la instalación automáticamente. Espere a que la instalación termine; 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 DNS básica 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): Contiene información administrativa sobre la zona.
    • NS (Name Server): Enumera los servidores con autoridad sobre 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 encargados de aceptar correos electrónicos para el dominio.
    • TXT (Text): Contiene texto arbitrario, a menudo utilizado para fines de verificación como el SPF (Sender Policy Framework) que se muestra aquí (v=spf1 -all).
  4. Guarde los resultados de la enumeración 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 > redirecciona 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ó visualizando el contenido del archivo. Escriba el siguiente comando y presione Enter:

    cat /root/dns_results.txt

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

Este paso le ha introducido al reconocimiento DNS con dnsrecon, mostrando cómo recopilar información crítica de un 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 de puertos básico 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 su documentación. Posteriormente, exploró la enumeración de servicios con scripts de nmap para descubrir información detallada de las versiones, seguido del reconocimiento DNS utilizando dnsrecon para consultar los registros de dominio de 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 las auditorías de seguridad de red.