Escaneo de redes con Netdiscover y Wireshark

Escaneo de redes con Netdiscover y Wireshark – Curso hacking con Kali Linux – Capítulos 25, 26, 27 y 28

En esta ocasión, pasamos a utilizar la herramienta Netdiscover y Wireshark.

¿Qué es y para qué sirve Netdiscover?

Es una herramienta activa/pasiva (ahora explicaré eso) para el reconocimiento de direcciones IP, con la finalidad de descubrir posibles objetivos.

Gracias a Netdiscover podemos descubrir hosts conectados en una red.

Netdiscover activo

La búsqueda de hosts de Netdiscover se basa en el envío de solicitudes ARP a todas las direcciones IP de un rango indicado. Este escaneo es bastante rápido (obvio si el rango es muy grande tardará un tiempo considerable).

¿Qué son las solicitudes ARP?

ARP son las siglas en inglés de Address Resolution Protocol (Protocolo de Resolución de Direcciones), es un protocolo hecho para vincular una dirección física (MAC) con una lógica (IPv4). (para direcciones IPv6 el protocolo es ICMPv6 y no ARP, aunque esto ya se va del tema).

Direcciones MAC

Recuerda que las direcciones MAC, son números hexadecimales que identifican a un dispositivo físico como una tarjeta de red.
como funcionan las solicitudes ARP

En la siguiente imagen tenemos una red local con 4 PCs, un switch y un router. Vamos a simular una solicitud ARP, para que veas como funciona.

En esta simulación, se quiere enviar una solicitud ARP para conocer la MAC del equipo PC4 (IP 192.168.1.33).

El PC1 necesita saber la dirección MAC del PC destino a la que asociar una determinada dirección IP.

Lo primero que hace el PC1 es revisar la caché ARP, a ver si ya se ha comunicado anteriormente con esa IP. Si la tiene, no hace falta que envía ninguna solicitud ARP. En cambio, si no la tiene, tendrá que enviar una solicitud ARP en la dirección de broadcast o de difusión, es decir, a todos los equipos en la red.

La solicitud ARP tiene la dirección IP de destino, pero no la MAC.

PC1 envía la solicitud a través del switch. Al ser un mensaje de difusión, se envía por todos los puertos excepto el camino de salida (hacia el PC1).

La solicitud ARP le llega al PC2, este compara la IP (192.168.1.33) con la suya. No coinciden así que ignora la solicitud y no la responde. El mensaje llega al PC3, este tampoco responde a la solicitud.

El router también recibe la solicitud ARP, al no coincidir, no contesta y tampoco envía la solicitud a través de la puerta de enlace a Internet.

Finalmente, llega al PC4 y con este, si que coincide. Así que el PC4 responde con una respuesta ARP al PC1 con su dirección MAC. Ahora sí, el PC1 puede asociar la IP 192.168.1.33 con su dirección física y se puede comunicar.

Pues bien, volviendo al escaneo activo con Netdiscover, este va enviando este tipo de solicitudes a todos los equipos de la red. Los que responden, los obtendremos en un listado con Netdiscover.

Netdiscover pasivo

El escaneo pasivo, es más lento, ya que está a la escucha en la red de estas solicitudes ARP, con lo que para obtener el listado completo de todos los equipos en una red, todos tienen que haberse comunicado, por lo que tardará más tiempo.

La ventaja, es que de esta forma, no somos detectados, no dejamos una huella (solicitudes ARP) en cada uno de los equipos de la red.

¿Qué es Wireshark?

No voy a entrar en detalles todavía con Wireshark, ya que lo veremos con mucho más detalle en capítulos dedicados.

En este capítulo, lo vamos a utilizar para ver lo que hace Netdiscover, para «espiar» las solicitudes que está enviando.

Wireshark es una aplicación muy completa (antes conocida como Ethereal) para analizar protocolos. Protocolos como el protocolo ARP.

Es decir, vamos a capturar en tiempo real todo lo que envía Netdiscover por la red, así veremos todas las solicitudes ARP que va haciendo en modo activo y en modo pasivo. Esto entre otras muchas funcionalidades, te ayudará a comprender como funciona Netdiscover.

Por cierto, las herramientas como Wireshark se conocen como sniffers.

¿Qué es un sniffer?

Un sniffer es una herramienta de software o hardware que permite supervisar el tráfico de red en tiempo real.

Crear varios adaptadores de red en VirtualBox

Para completar un poquito más, veamos como crear y utilizar varios adaptadores de red en una misma máquina virtual de VirtualBox. Como si estuvieran instaladas dos tarjetas de red en una máquina física. Así, podremos contar con dos redes diferentes en la misma máquina virtual (se pueden hasta 4, pero utilizaremos 2).

Nos iremos a la configuración de la máquina virtual a la sección de «Red» (para añadir los adaptadores hay que detener la máquina virtual). Las partes señaladas en rojo, quedarán como en las siguientes dos imágenes:

Iniciamos la máquina. Yo le voy a dar una IP fija a cada adaptador de red (192.168.1.150 (puente) y 192.168.1.151 (interna)).

Configurando la red puente

La red 1, la de adaptador puente, es capaz de comunicar la máquina virtual Kali Linux (o cualquier otra) con la red real de tu casa o empresa, así que la IP 192.168.1.150 estará ocupada en mi red privada por la máquina virtual, será como un equipo físico más conectado a mi red física.

Presta atención a los siguientes pasos para no confundirte.

Ajustes IPv4 – Adaptador puente

configuración de red puente en virtualbox

Los servidores DNS son opcionales, por si quieres poder resolver con Google nombres DNS para poder navegar por internet. Para esta práctica no es necesario, pero yo ya los dejo puestos para poder actualizar el sistema y navegar por Internet cuando lo necesite.

Antes de darle a aceptar, puesto que ahora contamos con dos dispositivos de red, tenemos que asociar la configuración TCP/IP (ajustes de IPv4) a una MAC de una de las dos interfaces de red. Pero, ¿cuál es la que tiene la red puente y la interna?

Ahora, necesitamos el dispositivo de red puente. En esta sección, nos aparece la MAC de cada uno.

seleccionar interfaz de red linux

¿Cómo sabemos que MAC tienen estos dispositivos emulados?

Fácil, vamos a donde hemos activado los adaptadores de red, en las opciones de VirtualBox y desplegamos las opciones avanzadas. Ahí aparece la MAC del dispositivo virtual.

adaptador puente virtualbox

Seleccionamos el dispositivo correspondiente y ya le damos a «Guardar».

Configurando la red interna

Creemos en Kali Linux una conexión cableada nueva para la red interna.

La IP acabada en 151 se la damos a la red interna.

configuración de red interna en virtualbox

En la pestaña «Cableada» selecciona el dispositivo de red correspondiente mirando la MAC tal y como hemos hecho con el otro adaptador de red.

Nos quedará finalmente de esta forma:

redes kali linux

Recuerda conectar las dos redes desde el panel de la barra de tareas. Deben quedar las dos redes con la opción «Desconectar». Eso indica que están conectadas.

redes en linux

Comprobemos con el comando ifconfig a ver si se han aplicado los cambios correctamente.

En «inet» aparece la IP asociada a la interfaz correspondiente (eth0 la puente y eth1 la interna) y en «ether» la MAC.

ver la ip y mac de red en linux

Escaneo activo de hosts con Netdiscover

Empecemos por un escaneo activo con Netdiscover y monitoricémoslo con Wireshark.

Para abrir Wireshark vamos al menú de inicio, categoría 09 – Sniffing & spoofing – wireshark:

wireshark kali linux

Nos podemos evitar este camino escribiendo simplemente «wireshark» sin comillas en la consola. No obstante, la ejecución del programa con interfaz gráfica Wireshark, estará sujeto a la ventana de la Terminal que lo ha ejecutado.

wireshark

Elegir una interfaz de red en Wireshark

Lo primero que nos pide Wireshark es una interfaz de red para empezar el escaneo. Solo tienes que seleccionar la que quieras con doble click.

interfaces de red wireshark

Analizar la red puente con Wireshark y Netdiscover

Vamos a empezar con la red puente. En mi caso, la he dejado en la «eth0».

Verás que Wireshark empieza a capturar una información desmesurada. Ya aprenderás en otros capítulos a filtrar los escaneos y los resultados (en este te enseñaré un poco con los resultados).

De momento, detén el escaneo con el botón cuadrado rojo para que no esté trabajando de manera innecesaria.

detener escaneo wireshark

Establecer filtros en los resultados de Wireshark

Con el fin de filtrar los resultados obtenidos en Wireshark, podemos utilizar su barra de filtro para filtrar solo lo que nos interese. En este caso, si ponemos «arp», solo aparecerán los resultados del protocolo ARP.

filtrar wireshark

Escaneo activo monitorizado con Netdiscover y Wireshark

Escribe en la terminal el siguiente comando, no presiones la tecla «ENTER» todavía. Primero haz click en la aleta de tiburón de Wireshark marcada en la imagen.

netdiscover -r 192.168.1.0/24 -i eth0

En ese momento, nos preguntará si queremos guardar los resultados obtenidos en el escaneo antes de empezar uno nuevo. No vamos a guardarlo, ya que no tiene nada que nos interese.

paquetes de red wireshark

Con la opción -r le indico a Netdiscover un rango de red. El rango, es una dirección de red, recuerda lo que enseñé hace poco con las IP. El /24, indica una máscara de red 255.255.255.0 (IPv4 clase C, 254 hosts posibles).

Con la opción -i le indico que interfaz quiero utilizar para enviar las solicitudes ARP masivas con Netdiscover (activo) o se va a indicar la interfaz de red que quede a la escucha de la red (pasivo). En este caso la de adaptador puente, por lo que detectará todos tus dispositivos físicos conectados en tu red (los que le envíen una respuesta ARP).

En resumen, se van a enviar solicitudes ARP desde la IP 192.168.1.1 hasta la 192.168.1.254. Recuerda que la 0 es la dirección de red y la 255 la de difusión o broadcast.

Si no indicamos ninguna opción extra, se va a ejecutar Netdiscover en modo activo.

Después de hacer esto, inicia el escaneo de Netdiscover en la terminal. Justo ponga «Finished», detendremos Wireshark como te he mostrado, para evitar que siga escaneando más.

escaneo activo netdiscover

Ha encontrado 4 hosts únicos:

  • Router – 192.168.1.1
  • Adaptador de red físico del equipo anfitrión – 192.168.1.28
  • Otros dos equipos cualquiera.

Si hubiese más hosts en la red, los detectaría.

Una vez Netdiscover pone «Currently scanning: Finished!», pues cortar la ejecución con CTRL+C.

Escaneo activo a red interna

Vamos a probar un escaneo a la red interna. Para ello, debes indicar la otra interfaz de red.

netdiscover -r 192.168.1.0/24 -i eth1

Antes de ejecutarlo, he creado una máquina virtual con Ubuntu y la he clonado. Las dos las he puesto en red interna con las IP 192.168.1.152 y 192.168.1.153.

Veamos las IPs de las máquinas Ubuntu:

ip add

Escanear diferentes redes con Netdiscover mediante un archivo

Podemos pasar el escaneo por las cuatro redes o bien, podemos crear un archivo con tantas redes como queramos. Crea un archivo de texto plano en la ruta que quieras.

archivo con redes para netdiscover

Estas redes, se le pasarán como si pusiéramos «-r dirección de red/24».

El valor /24 se pasa por defecto si no lo indicamos. Puedes hacerlo así también:

archivo con redes para netdiscover

Pasemos el escaneo:

netdiscover -l /home/kali/Escritorio/redes.txt -i eth1

Con la opción -l (ele) indicamos la ruta al archivo.

escaneo activo de netdiscover

¿Qué contienen las solicitudes ARP?

Con Wireshark, podemos ver la información de cada solicitud ARP. Analicemos un poco los datos.

contenido de las solicitudes ARP

En la parte amarilla, aparece la pregunta que hace el host solicitante.

Who has direccion_IPv4_solicitada? Tell dirección_IPv4_solicitante

Básicamente, se dice en cada mensaje, «¿Quién tiene la IP xxx.xxx.xxx.xxx? Lo solicita la IP xxx.xxx.xxx.xxx».

La primera IP es a la que se envía la solicitud. La segunda, es el host solicitante.

Al seleccionar un resultado, nos aparece mucha información debajo.

«Destination» indica la dirección de difusión o broadcast. Es por donde dije que se enviaban estas solicitudes.

«Source» es la fuente (el host solicitante), ahí tenemos la MAC. Esta MAC, la tiene que enviar el solicitante, para que el host destinatario, sepa a qué dispositivo enviar la respuesta.

En «Hardware type» se especifica que la conexión es cableada con Ethernet.

Finalmente, de nuevo la MAC del solicitante, su IP, la MAC y la IP de destino para la solicitud.

Simulando el rastro que deja un escaneo activo de Netdiscover

Ahora, voy a realizar el escaneo desde Kali Linux, de nuevo, pero esta vez, simulando que hay un administrador de sistemas vigilando la red. Para ello, voy a una de las máquinas con Ubuntu e instalo Wireshark.

sudo apt-get install wireshark

Una vez hecho, lo abro y me quedo supervisando la red. Mientras tanto, en la máquina con Kali Linux, ejecuto un escaneo activo.

El resultado, es que he enviado de golpe un montón de solicitudes ARP con la IP de la máquina Kali Linux y la MAC de la interfaz de red.

solicitudes arp wireshark

Escaneo pasivo con Netdiscover y Wireshark

Llegamos al fin de esta serie de capítulos de Netdiscover (no quiere decir que no lo utilicemos más).

Gracias al escaneo pasivo de Netdiscover, evitaremos dejar esas huellas, ya que solo va a estar en la red, esperando solicitudes de otros hosts para interceptarlas, así, no constará que mi máquina con Kali Linux ha realizado solicitudes.

netdiscover -l /home/kali/Escritorio/redes.txt -i eth1 -p

Como he dicho anteriormente, este escaneo es como pescar, debes esperar hasta que pique algo.

Mientras tanto, no recibimos información de ningún host con Netdiscover.

¿Qué hay que esperar? basta con que alguien utilice la red.

Por ejemplo, abrir una ventana del navegador, hará que se realice una conexión (varias en realidad).

Para navegar por internet, necesitaremos la MAC del dispositivo que lleva la puerta de enlace, entonces, el equipo que va a ser escuchado por Netdiscover, hará solicitudes ARP a la puerta de enlace. Es en ese momento en el que Netdiscover escucha dichas solitudes. Así, se consigue sin ser detectados.

escaneo pasivo con netdiscover

En las solicitudes puedes ver que la IP que envía esto, es la propia máquina a la puerta de enlace de su red (10.0.2.2, es diferente en el vídeo). La máquina Kali no aparece por ningún lado. Sin embargo, Netdiscover, ya a capturado la información.

escaneo pasivo netdiscover

¿Qué ocurre con el resto de equipos en las otras redes?

Pues bien, hasta que no hagamos uso de la red con ellos, no serán detectados por Netdiscover, esa es la desventaja de este tipo de escaneo.

Si quieres saber más sobre hacking y sobre Linux, no te pierdas estas categorías.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Entrada anterior Las direcciones IPv4
Entrada siguiente Análisis de OSINT con SpiderFoot