Detectar hosts desconocidos en una red

AikonCWD

Buenos días

Desde hace bastante tiempo, tengo 2 dudas diferentes que no he logrado solucionar de una forma eficiente y rápida (dudas relacionadas con las redes):

  1. Estando en una red estándar (varios PC’s conectados por cable a un switch, y un router conectado al switch…). La red podría ser 192.168.1.0/24, el problema que tengo es poder descubrir cualquier otro hosts/ordenador que esté conectado físicamente al switch, pero que la IP de ese hosts esté en otra red, por ejemplo 10.0.0.5 (evidentemente ese hosts no tendría internet…). Hay algún modo correcto de detectar esos equipos? He probado con nmap pero no logro encontrarlo de una manera fácil. Mi solución actual consiste en un pequeño script que cambia la IP de mi PC y realiza un scaneo de las principales redes comunes (192.168.x.x, 10.0.x.x, 172.16.x.x, etc…). Ésta solución me funciona, siempre y cuando los hosts estén en alguna de esas redes, pero por ejemplo sería incapaz de detectar cualquier otro hosts conectado al switch con una IP diferente a las mencionadas… Alguien sabe algún modo efectivo para ese escenario?

  2. Tengo un router (que está correctamente configurado y operativo), pero el DHCP interno está deshabilitado. Si conecto un PC directamente el router, no recibo ninguna IP, por lo tanto solo podría navegar si introduzco la IP manualmente en mi PC… el problema está en que no conozco la IP del router y por tanto no puedo configurar mi IP local… he probado con las redes comunes (192.168.x.x, 10.0.x.x, 172.16.x.x, etc…) pero no funciona, posiblemente la IP del router tenga una IP no-estándar (ejemplo 193.55.41.3). Hay algún modo o programa que me permita conocer o descubrir la IP del hosts remoto?

Pues esas son mis dudas, a ver si alguien me explica como resolverlo en ambos casos :(

Nucklear

¿Probaste a leer la tabla ARP o desde el router (O haciendo un MitM) interceptar el trafico y buscar paquetes que identifiquen la máquina (Paquetes ARP o ICMP)?

1 respuesta
AikonCWD

#2 La tabla ARP la tendría que mirar en el dispositivo que esté en medio del hosts, no? (sería el switch). Digamos que el switch utilizado en el caso 1) es un switch barato, no administrable por consola ni por interfaz web.

El problema que tengo en el escenario 1) es que tengo que configurar una IP local en mi equipo para lanzar un scan/discover... eso funciona correctamente cuando conozco la red de los equipos que quiero scanear... pero imagina que llegas a un sitio nuevo, tiene sun switch delante, pinchas tu PC en el switch pero no hay servidor DHCP... no obtienes IP y no sabes que IP/red están utilizando... ¿como lograrías descubrir la red de esos ordenadores para poder lanzar el scan/arp/etc?

EDIT: Actualmente lo que hago es configurar en mi PC las redes mas comunes (192.168.x.x, 10.0.x.x, 172.16.x.x, etc…) y lanzar scans a ver si suena la flauta... a veces lo consigo, pero a veces no y me bloqueo.

3 respuestas
Yekale7

#3 No estoy muy al día pero si quieres probar el sistema Kali tienes infinitas utilidades para todo lo que estas nombrando. Quizás encuentres algo más que te interesa y las puedes integrar en el sistema que tengas. https://www.kali.org/

Tendrás que usar Netdiscover para descubrir las direcciones de la subred a la que te conectes.

2 respuestas
Nucklear

#4 Para saber eso primero tendrías que saber donde está el Gateway.

#3 Yo levantaría en tu máquina un wireshark o cualquier herramienta de captura de tráfico. Así conseguiras ver todo el tráfico que llega a tu máquina. En esa captura verás mas o menos el rango de IPs en el que se mueve.

Con eso ya deberías poder encontrar el gateway a base de prueba y error.

1 respuesta
Maat

#3 yo creo que lo haria de la misma forma que tu, solo que ampliaria el rango del script para que recorra todas las direcciones posibles, al igual que retocaria el de cambiar la ip para poder entrar en todas las subredes posibles, con eso ya solo queda dejarlo funcionar hasta que alguna direccion te responda al ping. Tardara tiempo pero con todo automatizado lo unico que tendras que hacer sera esperar a que de con la direccion buena. Aunque claro como dices que el switch es barato, no hay forma de configurarlo y que ademas no tiene dhcp... como sabes que no tiene tampoco el protocolo icmp desactivado? en este caso lo mas logico seria resetear switch y tirar de manual para ver la ip que tira por defecto.

De todas formas si ni router ni switch tienen DHCP tiene que tener alguna forma de configurar la ip del switch puesto que sino este tampoco tendria conexion al router.

#4 vendria a tener el mismo problema, tendria que ir cambiando manualmente de subred para que realice un escaneo, que es basicamente lo que ya esta haciendo #1 mezclando el script con nmap.

1 respuesta
AikonCWD

Bueno, sigo investigando. La opción del script que vaya automatizando el scan... es funcional, pero inviable, poco profesional y lenta... no me gusta. Tiene que existir algo más sencillo y directo.

Estoy ahora en el curro, y en el laboratorio he montado el escenario 2), es decir:

Mi portatil, con tarjeta de red sin configurar (sin IP, IP automática) conectado por cable ethernet a un router (sin DHCP Server y con su IP LAN desconocida).

Voy a ver si consigo descubrir la IP LAN del router, he leído algo de capturar el tráfico poniendo mi eth0 en modo promiscuo y lanzar un ataque de MAC/ARP flooding, pero no se si funcionará. Luego edito con mis resultados.

Yekale7

#5 #6 El Netdiscover creo recordar que podrías ejecutarlo según te interese. Puedes explorar toda la red a la que te has conectado y te dirá los hots que hay en esa red. Creo que el problema que tiene es que no traspasa routers.

Por lo que si te conectas a una subred, la descubrirás entera pero no podrás seguir "subiendo". El problema es que mandará peticiones por toda la subred y ocurrirá lo que comenta aikon que es lenta.

Pero vamos como te comento, mira Kali que no estoy al día pero estoy seguro que tiene integrado lo que estás buscando.

1 respuesta
AikonCWD

#8 Netdiscover (al igual que nmap y similares) necesita lanzar el scan (señal de broadcast) desde una interface configurada (es decir, tu eth0 tiene que tener una IP y máscara de red configurada previamente).

Ese requisito indispensable para el netdiscover/nmap es justamente el que no tengo y quiero descubrir.

Por el momento estoy haciendo pruebas en el lab, con wireshark y mi eth0 en modo promiscuo, he podido ver información del host remoto y su IP... pero creo que ha sido "casualidad" ya que el host remoto manda un notify por el protocolo SSDP, ésto en la vida real no creo que me vuelva a ocurrir. Sigo investigando...

DiSKuN

Por lo que entiendo, el problema principal es que se desconoce que red tendrá configurada random dispositivo conectado al switch. Escenario peliagudo.
Si dicho switch está conectado a un router, en el router, si revisas la tabla ARP ¿podrías detectar la MAC del dispositivo desconfigurado?

La otra opción es poner Wireshark a sniffar y a filtrar toda la mierda que pasa por la red

1 respuesta
AikonCWD

#10 Exacto... imagínate que no hay ni switch ni nada. solo tu PC con un cable directo al router... ese router sin DHCP y con su IP desconocida... como averiguarías la IP-LAN del router?

He probado con wireshark.... y casi lo logro. El modelo de router que he utilizado tiene una peculiaridad que emite por broadcast el estado de su servidor HTTP usando el protocolo SSDP:

Tal y como se ve en la foto, wireshark ha detectado la IP del router (192.168.5.1 en mi ejemplo). He probado lo mismo con otros modelos de routers y ese SSDP no se vuelve a repetir... es algo própio de ese modelo y por tanto no me sirve como solución estandar :(

garlor

en ambos casos estas intentando que un equipo responda a tus peticiones, por tanto esto siempre dependera de como este configurado ese equipo

pongamos como ejemplo el router, si esta configurado para no responder a nada que no vaya especificamente dirigido a su IP ya puedes lanzarle peticiones dhcp o del tipo que sea

lo mas cercano a lo que dices es bombardear a peticiones ARP especificamente a cada direccion IP, eso si que dudo que ningun aparato puede funcionar sin responder a las peticiones de descubrimiento, pero claro esto es un bruteforce

a no ser que tengas bastante claro el tipo de dispositivos y por tanto los protocolos/peticiones a los que son susceptibles de responder solo te queda el bruteforce del ARP

hda

Iba a comentar lo que varios foreros. Solo se me ocurriría mirar en el ARP, pero bien es cierto que, si el randompc no está en el anillo, no deberían entrar paquetes de él.

Por hacer algo así casi me echan del colegio mayor de Polonia (ergo de Polonia) de vuelta a España xD

La seguridad de la red estaba en función de la mac (registro mac-estudiante). A eso le sumamos limitaciones por descarga por hora por mac... un pequeño script siendo ARP tu amigo...

_Akiles_

#1

Para el primer caso desde una linux un ping a la 255.255.255.255 y cualquier host conectado a ese switch independientemente de la IP que tenga tendria que responder, salvo que tenga alguna regla de firewall especifica. Esto lo acabo de simular en un GNS3 y el comportamiento es tal y como te digo, la verias reflejada en el ARP.

Para el 2º caso yo creo que no puedes sin wireshark, y con éste solo veras mensajes que envia el router, como multicast, CDP, etc

1 respuesta
AikonCWD

#14 Probaré lo del ping a 255.255.255.255, buena idea! :)

1 respuesta
_Akiles_

#15 ojo, teniendo en cuenta que tiene que ser un switch normalito, que no esté segmentado en VLANs o solo se propagaria entre los host de la misma VLAN.

1 respuesta
garlor

#16 y teniendo en cuenta que los equipos respondan al ping o a los broadcast

Usuarios habituales

  • garlor
  • _Akiles_
  • AikonCWD
  • DiSKuN
  • Yekale7
  • Maat
  • Nucklear

Tags