domingo, mayo 08, 2011

Ripe, Arin, el escaneo HTTP, Google, Shodan y la FOCA

Una de las cosas que realizamos en la FOCA es el descubrimiento de todos los equipos que forman parte del dominio del proyecto. Para ello se basa en Google, Bing, DNS, etc... Sin embargo, hay situaciones en las que es dificil encontrar un equipo cuyo dominio no está indexado por los buscadores.

Supongamos que tenemos una dirección IP que acaba en 22 y otra que acaba en 24. Parece lógico que la que acaba en 23 estará también dentro del dominio de esta empresa. ¿Pero... y la 21 o la 20? Hasta el momento FOCA hace un escaneo completo de PTR o de ICMP al segmento completo y aire. Sin embargo, siguiente los consejos de Alejandro Ramos, vamos a hacer una consulta a RIPE o ARIN para sacar el NetName y el NetRange, y haremos el escaneo PTR e ICMP en ese rango.

Sin embargo, aún nos queda un problema, si la dirección IP está en el NetRange pero no hay respuesta PTR del DNS a esa dirección IP y no contesta al Ping ¿paramos o seguimos? Es evidente que podríamos hacer un escaneo intenso nmap a las direcciones del Nettange (que no descartamos en próximas versiones), pero por ahora vamos a añadir un escaneo Http, que es más silencioso y nuestro foco principal con la FOCA.

El funcionamiento es sencillo, primero consultaremos el registro whois en la base de datos ARIN o RIPE de toda dirección IP que FOCA descubra previamente para descubrir los NetRanges asociados al dominio. En este ejemplo, este es el resultado de la respuesta a la dirección una direccion web del dominio army.mil.


Figura 1: Consula del NetRange en la base de datos Whois

Después buscaremos las direcciones IP del NetRange en Google, haciendo uso del operador site y los comodines * para buscar qué servidores web que estubieran respondiendo por esas direcciones IP están indexados.


Figura 2: Escaneo del NetRange en Google

También, haciendo uso del operador net, consultaremos Shodan, para buscar que tiene indexado este buscador dentro del NetRange.


Figura 3: Consulta del NetRange en Shodan

Por último, una vez que se tenga descubierta la información por Shodan y por Google, si una dirección IP no ha cantado algún servidor web, quedaría la posibilidad de hacer manualmente una petición GET o un escaneo nmap, pero la probabilidad de que haya allí un servidor web es pequeña. Por eso, dejaremos la opción de visualizar esos nodos como no activos, por si alguien quiere tirarle un escaneo manual y activarlos.

Evidentemente, la gracia de descubrir los servicios web que atienden por dirección IP es que FOCA va a poder lanzar las consultas de análisis de un sitio web también por dirección IP, y no solo por nombre de dominio, así, en la nueva versión, FOCA hará Google y BING Crawiling de documentos, URLS, applicaciones, etcétera, haciendo site:IP además de site:domainname.

Saludos Malignos!

6 comentarios:

Óscar Marín dijo...

Para rizar el rizo, también podríais hacer una consulta en RIPE, ARIN ... del Nombre "Admin-C" o "Tech-C" que os devolverá todos y cada uno de los rangos que utilizan el mismo contacto administrativo, que vienen a ser los rangos con IPs discontínuas de la misma empresa. De esta forma se pueden obtener rangos que no aparecen en buscadores al usarse para otros fines. Y si vais a hacer un escaneo para puertos web, estaría bien dejar definir dichos puertos o bien, marcar como puertos web los estandar (80,443) y los quasiestandar (81,8000,8001,8080,8081,8443,8444), son pocos puertos a escanear y devolveran multitud de servidores web "más interesantes".

Enhorabuena por el curro que os estais pegando con la FOCA

Anónimo dijo...

Una preguntilla, ¿Habéis pensado en portar la Foca a otros SO?

Enhora buena por la foca.
Un saludo.

Alejandro Ramos dijo...

Hombre! que grandes noticias!

Entre mis comentarios estaba eso que comentas Oscar o consultar el propio nombre de los netname (y variaciones), aunque detectar si es o no de la misma red, puede ser tener mucho peligro!

Gracias por tenerme en consiración malignisimo

Juanma Merino dijo...

¿Por qué sólo a ARIN y RIPE?
Todos los RIRs tienen un servicio whois. Yo incluiría a los que faltan que son: APNIC, AfriNIC y LACNIC.

Raistlin dijo...

Las consultas para pillar los netname de los RIR pueden dar información incorrecta. Algunos rangos están registrados a nombre de un LIR y un subconjunto de esos rangos a nombre de otro, por ejemplo, una empresa que gestiona sus propias IPs.

Hace tres años cree un programa en VB6 (sí, VB6, jeje) para automatizar las consultas contra los RIR y crear una base de datos básica de geolocalización. La experiencia de 130MB es que muchos rangos tenían ese problema.

Saludos.

Raistlin dijo...

A propósito, si alguien quiere la base de datos o el código fuente en VB6 que me lo pida, lo comparto.

Saludos.

Entradas populares