Nmap

Proceso de descubrimiento de host de Nmap

Proceso de descubrimiento de host de Nmap
Nmap es una poderosa herramienta de escaneo y auditoría de redes favorecida por probadores de penetración e ingenieros de redes. Permite escanear un solo host o una red grande con miles de hosts y encontrar información relevante sobre ellos.

Este tutorial se centrará en un uso clave de Nmap, i.mi., Metodología de descubrimiento de host y descubrimiento de host. Es bueno tener en cuenta que esta no es una guía para principiantes para trabajar con Nmap o la metodología de recopilación de información en las pruebas de penetración.

¿Qué es Host Discovery?

El proceso de descubrimiento de hosts de Nmap se refiere a la enumeración de hosts de red para recopilar información sobre ellos y construir un plan de ataque en pruebas de penetración.

Durante el descubrimiento de host, Nmap utiliza elementos como Ping y un script integrado para buscar sistemas operativos, puertos y servicios en ejecución mediante protocolos TCP y UDP. Si se especifica, puede habilitar el motor de secuencias de comandos de Nmap que utiliza varias secuencias de comandos para buscar vulnerabilidades en el host.

El proceso de descubrimiento de host empleado por Nmap utiliza paquetes ICMP sin procesar. Estos paquetes pueden ser deshabilitados o filtrados por firewalls (raramente) y administradores de sistemas muy cautelosos. Sin embargo, Nmap nos proporciona un escaneo sigiloso, como veremos en este tutorial.

Empecemos.

Deteccion de redes

Sin perder demasiado tiempo, examinemos varios métodos para realizar el descubrimiento de host y superar varias limitaciones causadas por los dispositivos de seguridad de la red, como los firewalls.

1: ping ICMP clásico

Puede realizar el descubrimiento de host con un simple Solicitud de eco ICMP donde el anfitrión responde con un Respuesta de eco ICMP.

Para enviar una solicitud de eco ICMP con Nmap, ingrese el comando:

$ nmap -PE -sn 192.168.0.dieciséis

La salida se parecerá a la que se muestra a continuación:

Inicio de Nmap 7.91 (https: // nmap.org)
informe de escaneo para 192.168.0.dieciséis
El host está activo (0.Latencia 11s).
Dirección MAC: EC: 08: 6B: 18: 11: D4 (Tecnologías Tp-link)
Nmap hecho: 1 dirección IP (1 host arriba) escaneada en 0.62 segundos

En el comando anterior, le decimos a Nmap que envíe una solicitud de eco de ping (-PE) al objetivo. Si recibe una respuesta ICMP, entonces el host está activo.

A continuación se muestra una captura de pantalla de Wireshark del comando nmap -sn -PE:

Considere el recurso que se proporciona a continuación para obtener más información sobre el protocolo ICMP.

https: // linkfy.a / ICMP

NOTA: Las solicitudes de eco ICMP no son confiables y no llegan a una conclusión basada en la respuesta. Por ejemplo, considere la misma solicitud a Microsoft.com

$ nmap -sn -PE microsoft.com

La salida será como se muestra a continuación:

Inicio de Nmap 7.91 Nota: El host parece estar caído.
Si realmente está activo, pero bloqueando nuestras sondas de ping, intente -Pn
Nmap hecho:
1 dirección IP (0 hosts arriba) escaneada en 2.51 segundos

Aquí hay una captura de pantalla para el análisis de Wireshark:

2: Ping TCP SYN

Otro método de descubrimiento de host es utilizar un escaneo de ping TCP SYN de Nmap. Si está familiarizado con los tres apretones de manos TCP SYN / ACK, Nmap toma prestado de la tecnología y envía una solicitud a varios puertos para determinar si el host está activo o usando filtros permisivos.

Si le decimos a Nmap que use SYN ping, envía el paquete al puerto de destino, y si el host está activo, responde con un paquete ACK. Si el host está inactivo, responde con un paquete RST.

Utilice el comando como se muestra a continuación para ejecutar una solicitud de ping SYN.

sudo nmap -sn -PS scanme.nmap.org

La respuesta de este comando debe indicar si el host está activo o inactivo. El siguiente es un filtro de Wireshark de la solicitud.

tcp.banderas.syn && tcp.banderas.ack

NOTA: Usamos -PS para especificar que queremos usar la solicitud de ping TCP SYN, que puede ser un método más eficiente que los paquetes ICMP sin procesar. La siguiente es una solicitud de Nmap de Microsoft.com usando TCP SYN.

$ nmap -sn -PS microsoft.com

La salida se muestra a continuación:

Inicio de Nmap 7.91 (https: // nmap.org)
Informe de escaneo de Nmap para microsoft.com (104.215.148.63)
El host está activo (0.Latencia de 29 s).
Otras direcciones para microsoft.com (no escaneado): 40.112.72.205 13.77.161.179 40.113.200.201 40.76.4.15
Nmap hecho:
1 dirección IP (1 host arriba) escaneada en 1.08 segundos

3: ping TCP ACK

El método de ping TCP ACK es un hijo de la solicitud de ping SYN. Funciona de manera similar pero en su lugar usa el paquete ACK. En este método, NMAP intenta algo inteligente.

Comienza enviando un paquete TCP ACK vacío al host. Si el host está fuera de línea, el paquete no debería recibir ninguna respuesta. Si está en línea, el host responderá con un paquete RST que indica que el host está activo.

Si no está familiarizado con el RST (paquete de reinicio), es el paquete enviado después de recibir un paquete TCP inesperado. Dado que el paquete ACK que Nmap envía no es una respuesta a SYN, el host tiene que devolver un paquete RST.

Para inicializar un ping ACK de Nmap, use el comando como:

$ nmap -sn -PA 192.168.0.dieciséis

Dado el resultado a continuación:

Inicio de Nmap 7.91 (https: // nmap.org)
Informe de escaneo de Nmap para 192.168.0.dieciséis
El host está activo (0.Latencia de 15 s).
Dirección MAC: EC: 08: 6B: 18: 11: D4 (Tecnologías Tp-link)
Nmap hecho:
1 dirección IP (1 host arriba) escaneada en 0.49 segundos

4: ping UDP

Hablemos de otra opción para el descubrimiento de hosts en Nmap, i.mi., Ping UDP.

El ping UDP funciona enviando paquetes UDP a los puertos especificados del host de destino. Si el host está en línea, el paquete UDP puede encontrar un puerto cerrado y responder con un mensaje de puerto ICMP inaccesible. Si el host está inactivo, el mensaje mostrará varios mensajes de error ICMP, como TTL excedido o sin respuesta.

El puerto predeterminado para ping UDP es 40, 125. El ping UDP es una buena técnica para usar cuando se realiza el descubrimiento de host para hosts detrás de un firewall y filtros. Esto se debe a que la mayoría de los cortafuegos buscan y bloquean TCP pero permiten el tráfico del protocolo UDP.

Para ejecutar el descubrimiento de host de Nmap con ping UDP, use el siguiente comando:

sudo nmap -sn -PU scanme.nmap.org

La salida del comando anterior se puede examinar con Wireshark, como se muestra en la captura de pantalla a continuación. Filtro Wireshark utilizado - udp.puerto == 40125

Como puede ver en la captura de pantalla anterior, Nmap envía un ping UDP al IP 45.33.32.156 (escanme.nmap.org). El servidor responde con ICMP inalcanzable, lo que indica que el host está activo.

5: Ping de ARP

No podemos olvidar el método de ping ARP que funciona muy bien para el descubrimiento de hosts dentro de las redes locales. El método de ping de ARP funciona enviando una serie de sondas de ARP al rango de direcciones IP dado y descubre hosts en vivo. El ping ARP es rápido y muy confiable.

Para ejecutar un ping ARP usando Nmap, use el comando:

sudo nmap -sn -PR 192.168.0.24/1

Si examina el comando con Wireshark y filtra ARP de la fuente 192.168.0.30, obtendrá una captura de pantalla de las solicitudes de sondeo de ARP Broadcast como se muestra a continuación. El filtro de Wireshark utilizado es: arp.src.proto_ipv4 == 192.168.0.30

TCP SYN Stealth

Descubrirá que el escaneo SYN es una buena opción para el descubrimiento de hosts porque es rápido y puede escanear una serie de puertos en segundos, siempre que los sistemas de seguridad como los firewalls no interfieran. SYN también es muy potente y sigiloso, ya que funciona mediante solicitudes TCP incompletas.

No entraré en detalles sobre cómo funciona TCP SYN / ACK, pero puede obtener más información al respecto en los diversos recursos que se proporcionan a continuación:

Para ejecutar el escaneo sigiloso Nmap TCP SYN, use el comando:

sudo nmap -sS 192.168.0.24/1

He proporcionado una captura de Wireshark del comando Nmap -sS y los hallazgos de Nmap del escaneo, examínelos y vea cómo funciona. Busque solicitudes TCP incompletas con el paquete RST.

Conclusión

En resumen, nos hemos centrado en discutir cómo utilizar la función de descubrimiento de host de Nmap y obtener información sobre el host especificado. También discutimos qué método usar cuando necesita realizar un descubrimiento de host para hosts detrás de firewalls, bloquear solicitudes de ping ICMP y mucho más.

Explore Nmap para obtener un conocimiento más profundo.

Cómo usar AutoKey para automatizar juegos de Linux
AutoKey es una utilidad de automatización de escritorio para Linux y X11, programada en Python 3, GTK y Qt. Usando su funcionalidad de scripting y MAC...
Cómo mostrar el contador de FPS en juegos de Linux
Los juegos de Linux obtuvieron un gran impulso cuando Valve anunció el soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, mu...
Cómo descargar y jugar Sid Meier's Civilization VI en Linux
Introducción al juego Civilization 6 es una versión moderna del concepto clásico introducido en la serie de juegos Age of Empires. La idea era bastant...