04 enero 2016

Fugas de Información en los Routers Mikrotik

Cuando se quiere realizar un APT (Advanced Persistent Threat) a una empresa o a una organización, uno de los aspectos fundamentales es conocer su esquema de direccionamiento IP interno que utiliza y, si es posible, cuál es su arquitectura de red para, por ejemplo, ver si tienen zonas desmilitarizadas y a partir de ahí poder inferir cuántos routers/firewall configuran su sistema de protección perimetral.

Figura 1. Fugas de Información en routers MikroTik.

A parte de lo anterior, resulta muy interesante conocer, si es posible, el nombre de alguno de sus empleados y, por qué no, también el del administrador o administradores de la propia red.

Con toda esta información se puede plantear incluso el realizar algún ataque de Ingeniería Social.


Router Mikrotik

Estos routers son muy conocido dentro de las redes debido a su buen funcionamiento y bajo coste y son una alternativa a otro tipo de marcas en elementos de electrónica de red como puede ser CISCO. El sistema operativo que incorporan estos dispositivos es RouterOS y trae muchas características avanzadas de configuración.

Figura 2. Sistema operativo RouterOS y servicio asociado al puerto 80 TCP.

Entre las característica que incorpora RouterOS, cuenta con un servidor web que sirve para una configuración más cómoda con un entorno gráfico bajo HTTP más agradable, en lugar de utilizar los comandos propios del sistema operativo a través de una shell.

Es precisamente la configuración por defecto de este servicio el que va a permitir realizar el descubrimiento de recursos de la red de la organización como veremos a continuación.


Búsqueda de un patrón para realizar Dorking

Para poder aplicar técnicas de dorking, el primer paso es buscar un patrón común a estos dispositivos a partir del cual poder extraer más información utilizanzo los principales motores de búsqueda. Para ello, lo primero es obtener direcciones IP de estos dispositivos, por ejemplo, utilizando Shodan.

Figura 3. Búsqueda de routers Mikrotik.

Una vez localizados estos dispositivo, lo siguiente será tratar de obtener el nombre de los recursos que están en su servidor web, como pueden ser nombres de ficheros, de directorios, etcétera. El nombre de estos recursos y el comportamiento del servidor web serán quiénes nos den el patrón para las técnicas posteriores de dorking.
Para el descubrimiento de estos recursos, empleamos técnicas de spidering. ZAProxy es una buena herramienta para realizar el descubrimiento de recursos:

Figura 4. Recursos descubiertos por el spider de ZAProxy.

La petición que genera la respuesta anterior es http://115.x.x.x/graphs/, luego un posible patrón a utilizar en las técnicas de dorking puede ser para el texto “Traffic and system resource graphing” y para la url “graphs”. Usando Google, podemos emplear el siguiente dorking:

Figura 5. Resultados después de realizar Google Hacking.

Uno de los resultados devueltos por Google es el siguiente:

Figura 6. Router Mikrotik con 5 interfaces de red.

Observamos cómo, debido a una configuración insegura por defecto del servidor web del router, podemos ver el número de las interfaces de red y el nombre de cada una de las redes que comunica. De la información anterior, podemos inferir que es un único router quien comunica la red interna de la organización con la DMZ y los recursos de la DMZ con Internet.
Además, es muy probable que tenga un firewall con reglas de entrada y salida para el tráfico de la organización. Si pinchamos encima de una de las interfaces, podemos ver el tráfico de red que pasa por ella:

Figura 7. Tráfico de red que atraviesa la interfaz de la DMZ de la organización

Es más, a partir de la información de las interfaces de red podemos inferir un posible esquema perimetral de defensa de la organización:

Figura 8. Diagrama “retro” de la posible defensa perimetral de la red de la organización.

IP  Private Disclosure políticas

Los resultados anteriores son consecuencia de una mala configuración por defecto del servidor web que permite hacer un listing de los recursos que almacena.
Esta situación se puede aprovechar para intentar extraer también cuál es el esquema de direccionamiento interno de la organización aplicando técnicas de hacking con buscadores con los dorkings que hemos comentado anteriormente.
Sólo tenemos que añadir los prefijos de direccionamiento privado que queramos encontrar. Por ejemplo, si queremos extraer el esquema de direccionamiento privado sobre IPv4 para una red de clase C, podemos emplear el siguiente dorking:

Figura 9. Extracción de direccionamiento privado de clase C sobre IPv4.

Seleccionando uno de los resultados devueltos por Google, podemos ver cuál es el esquema de direccionamiento interno de la red interna, así como tener acceso a datos referentes a uso de CPU, memoria y almacenamiento en disco.

Figura 10. Información de la red interna de la organización.

En la figura anterior puede verse que, asociada a cada una de las direcciones IP de la red interna, es posible que éstas tengan algún tipo de política en las colas relacionada con la QoS (Quality of Service), seguramente relacionadas con la velocidad de subida y de bajada.

Figura 11. Política de velocidad de transferencia asociada a una dirección IP (I).

Si consultamos cuál es la política asociada a otra de las direcciones IP interna de la organización, observamos cómo, en este caso, la velocidad de transferencia es diferente:

Figura 12. Política de velocidad de transferencia asociada a una dirección IP (II).

Observamos como la velocidad máxima permitida para la máquina con dirección IP 192.168.0.5 es mayor que la vinculada a la 192.168.0.14. Si alguien dentro de la organización quisiera tener más velocidad de transferencia, únicamente tendría que consultar cuáles son las direcciones IP que disfrutan de este privilegio, y cambiar su dirección IP, siempre y cuando se tengan los permisos para modificar la configuración de la interfaz de red, la dirección IP no esté ocupada, etcétera.


Extracción del nombre de los posibles trabajadores de la organización

Hay veces en que los administradores de red ponen nombres de personas a las políticas aplicadas a cada una de las colas asociadas a las direcciones IP de las máquinas. 
Es por ello que si probamos con los dorkings anteriores a buscar el nombre de personas, es posible que encontremos el de alguno de los posibles miembros de esa organización, como se muestra en las siguientes figuras:

Figura 13. Nombres de personas vinculados a las políticas de las colas (I).

Figura 14. Nombres de personas vinculados a las políticas de las colas (II).

Es más, pulsando en el nombre de las personas anteriores podemos obtener información de su dirección IP interna (direccionamiento privado IPv4 de clase A) y de cuál es la política de velocidad de transferencia que tienen asignada.

Figura 15. Características del tráfico de red para una persona en concreto.

En la figura anterior podemos ver además, para una persona en concreto, en qué franjas horarias se han producido los mayores picos de descarga. Puede que se produzcan al entrar al puesto de trabajo, después de la comida o incluso después del almuerzo.
Y es más, a partir del nombre de posibles miembros de la organización, se podría obtener, por ejemplo, información relativa a una posible matrícula de su posible coche:

Figura 16. Posible personal de la organización.


Figura 17. Posible matrícula de coche relacionada con el auto de una posible infracción.

Conclusiones

Para evitar toda la fuga de información que hemos visto en este artículo y poder obtener información más sensible como el direccionamiento interno de una organización, políticas de calidad de servicio en su red interna, posibles nombres y apellidos de miembros de la organización, inicialmente podría pensase acceder al router para su administración únicamente a través del servicio SSH, es decir, dejar únicamente el puerto 22 TCP abierto para la administración del dispositivo y nunca hacerlo mediante el servicio HTTP. 

Aún así, como vimos los que hicimos el curso Attack and Hardening en GNU Linux,  si se quiere una administración remota del sistema, para cualquier puerto de administración, podría establecerse permisos únicamente para un pool de direcciones IP fijas y de confianza o, simplemente, realizar la administración del dispositivo desde la red interna de la organización, nunca desde Internet.

Colaboración por cortesía de: Amador Aparicio de la Fuente