martes, agosto 14, 2012

Descubrir la red de una empresa con consultas SNMP

El sábado por la tarde, tras finalizar mis charlas, se produjo el momento que más me gusta de Defcon y al que le dediqué un dibujo de No Lusers: El de tomar cervezas en el bar del hotel de la conferencia con los asistentes al evento, que siempre es diverso e interesante.

Allí nos juntamos un nutrido grupo de gente, entre los que se encontraban Dani Mende - creador de Loki - y John Matherly - creador de Shodan -. Entre cerveza y cerveza, haciendo un aparte los tres, John explicaba a Dani que España es el segundo país del mundo que más usa Shodan, y yo le contaba que hasta hemos publicado un libro de hacking con buscadores con una parte dedicada a Shodan. Al mismo tiempo, hablamos de la conferencia Troopers, que organiza la empresa donde trabaja Dani Mende (ENRW) en la ciudad de Heidelberg.

John es Suizo, y aunque está afincado en la Costa Oeste de los Estados Unidos, pensé que sería bueno repetir reunión en Alemania, así que, como soy un liante, le dije a John que tenía que animarse a dar alguna conferencia explicando los detalles de Shodan. John no suele dar charlas, porque dice que no se siente cómodo, pero... al final quedamos en que estaría muy divertido darla juntos allí, así que había que pensar algún tema divertido.

Como tenemos pendiente esto, quise darme este fin de semana un paseo por Shodan a ver cómo había evolucionado el proyecto un poco más en detalle y enredar por allí. Tras jugar un rato, me acordé del artículo de administrando el mundo con agentes SNMP y me animé a jugar un rato con los agentes SNMP de dispositivos CISCO.

Encontrar estos dispositivos en Shodan es una pasada de sencillo. Basta con buscar el banner de los dispositivos CISCO que te interesen, filtrar por el puerto 161, y ya tienes una buena cantidad de agentes SNMP esperando tus consultas, y la gran mayoría sin requerir ninguna password a cambio del trabajo. En la imagen me han salido 1411 equipos, pero dependiendo del banner que uses puedes encontrar muchas más.

Figura 1: Buscando agentes SNMP en dispositivos Cisco a través de Shodan

Para conectarme a ellos, utilicé un sencillo visor de consultas SNMP que se llama MIB Browser, y me puse a ver si podía llegar a la información de las redes en las que estaba conectado el dispositivo, y lo que es mejor, a ver si podía pintarse la red interna de una empresa que publicara esto, ya sabéis, por si se puede integrar a FOCA en el futuro de manera automatizada.

Tras seleccionar SNMPv2 sin autenticación en las opciones, solo hay que conectarse a alguno de los que aparecen en Shodan y conectarse utilizando MIB Browser - disponible para Windows y Mac OS X -, se puede obtener mucha información jugosa de el entorno donde está conectada esa máquina. En el árbol de la izquierda están las estructuras de datos que se pueden consultar con SNMP.

Los atributos que tienen el icono de una tabla son datos en formato de tabla, que pueden ser descargados masivamente con una opción del botón derecho "Table View". El resto de iconos representa el tipo de dato que se almacena en ese atributo y, seleccionando en cada elemento, en el recuadro inferior izquierdo se puede acceder a la descripción del contenido más detallada.

Figura 2: Consultando el atributo atPhysAddress de AtTable

En la Figura 2 se puede observar el atributo Physical Address de la Address Translation Table que recoge la dirección MAC y la dirección IP que este sistema ha almacenado. Es una especie de tabla caché ARP que permite, como se puede ver en este caso, descubrir los segmentos de la red interna, los equipos conectados y sus direcciones físicas. Con una sencilla consulta haces un escaneo a la red interna sin tirar un ping.

Para conocer más sobre el equipo, y el entorno donde está conectado y así dibujar más claramente la estructura de la red, se pueden analizar los interfaces que tiene el sistema, la marca y el modelo - que se obtienen en la información de sistema -, la tabla de enrutamiento y cualquier tabla de mapeo de direcciones físicas a lógicas. Todos estos datos pueden ser consultados por SNMP.

Figura 3: Tabla de interfaces obtenida por SNMP de un router CISCO

La siguiente captura muestra la tabla de enrutamiento de un sistema. Con ella se puede saber cuáles son las redes conectadas directamente a los interfaces del equipo, las rutas descubiertas usando protocolos de enrutamiento -  en este caso este sistema descubre rutas vía OSPF internamente y vía BGP entre sistemas autónomos - además de los nodos de conexión entre redes, lo que permiten hacer un dibujo más detallado de la red global.

Figura 4: Tabla de enrutamiento obtenida con una consulta SNMP

La tabla IPNetToMedia, también muestra información similar a la Address Translation Table, en este caso traduciendo de dirección IP a dirección física, con lo que se obtienen de nuevo mapeos entre MAC-IP conocidos por el sistema.

Figura 5: Tabla InetToMedia consultada por SNMP a un sistema CISCO en Internet

Por último, aunque la lista de datos que se pueden obtener son muy grandes, he obtenido la tabla de conexiones de un equipo, lo que deja ver qué otros puertos están abiertos en los sistemas, lo que desvelaría servicios en ejecución.

Figura 6: Tabla de conexiones del sistema

Como podéis ver, información muy valiosa disponible en muchos miles de direcciones IP publicadas en Internet. Si ienes en tu red agentes SNMP, asegúrate de no dejarlos públicos, deshabilitar SNMPv1 y SNMPv2, y revisar a ver si si están indexados en Shodan.

Saludos Malignos!

14 comentarios:

rajoy cabron dijo...

Otra charla que no es tuya y en la que estaras,esta vez con john,al igual que hiciste con luis delgado.Pero para ayudarlos.todos lo sabemos.

Chema Alonso dijo...

@luser, la de Luís Delgado fue un favor que me pidió él. En Troopers daré con John una charla que prepararemos juntos. No seas ridículo y envidioso hombre.

Saludos!

rajoy cabron dijo...

A mis oidos llego que tu contastacte con luis,y la charla con john es de su obra,no importa que la preparen juntos.Pero a ayudar chema,no olvidamos

Chema Alonso dijo...

@luser, habla con Luís tontico, y se lo preguntas a él. Eres patético... te voy a banear, y luego en la Lacon vienes y hablamos cara a cara.

Saludos!

rajoy cabron dijo...

Ya estas presumuendo de la lacon?vaya vaya,si casi te dejan fuera.Que hiciste para que tus amigos dieran la cara por ti?en la lista no eres nuy bien recibido,sabes?pero este año puedes hacer algo,almenos pintar en tu aipayo

neongeniuses dijo...

Buen post Chema. Ya tengo entretenimiento para una tarde estas vacaciones ;)

Anónimo dijo...

Chema, muy buen artículo. Siempre defino los artículos como buenos si aprendo cosas nuevas y este me encanta. Poco a poco.

Una duda que siempre tengo y que a lo mejor te apetece resolverme.

¿Tú cuando haces estas cosas usas proxys (aunque pueden no servir de mucho, jeje) o vas a cara descubierta? Porque si vas a cara descubierta igual alguien se enfada y últimamente con la reforma del CP en 2011 y con lo que dijeron desde la unión europea hace poco de regular el hacking a mi me acojonan... Supongo que tú tendrás asesoría legal, pero no se, yo soy un cagichas.

Saludos!!

@HardAlvaro

Chema Alonso dijo...

@luser, sabrás tú lo que se dice en la lista de la LaCON }XD. En la LaCON, si no eres bien recibido, como sabrás, no vas. Pero me gustará verte allí a ver si das la cara o te escondes como una ratita, como haces por aquí. Si quieres preguntamos a "mis amiguitos" de la LaCON y que te lo cuenten ellos.

Saludos!

Luis Delgado dijo...

Con respecto a la charla de la DEFCON, fui yo el que llamó a Chema porque no me veía fuerte como para dar una charla en inglés y quería tener "salvavidas". Si no hubiera sido por Chema (¡Gracias!) seguramente no habría enviado el CFP...

Andres dijo...

@Maligno, no hagas caso de los nobodys HANONIMOUS, ya sabes que si te queremos en lac0n :)

Nos vemos en breve y nos tomamos un pulpo.

@atarasco

Alejandro Ramos dijo...

Yo creo que es Autonomous, mas que hanonimous :(

Como dice churrasco, en la lac0n se te quiere, incluso sin tener que presentar nada!!!

Anónimo dijo...

Chuparos las pollas unos a otros si veis que tal...jajaja

Chema Alonso dijo...

Pero que retrasado mental estás hecho...

Jamiiro dijo...

Curioso, no conocía esta herramienta, siempre había usado snmpwalk en linux (y luego grep,cut,sed.. ;-) Saludos!

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares