El framework está desarrollado en Python 3 y ya se encuentra disponible para ser empleado en plataformas de hardware libre tales como Raspberry PI, Cubieboard y equivalentes, que pueden ser implementadas fácilmente en cualquier tipo de drone o robot. CROZONO posee la capacidad de realizar ataques automatizados a una red o a un grupo de redes y tomar decisiones sobre qué ataques llevar a cabo en base a parámetros preestablecidos y a la información que recopila sobre su objetivo, sin requerir la interacción directa del atacante. La meta de este software es introducirse en una red y comprometer uno o varios de los equipos de la misma. Para lograrlo, incorpora en distintos módulos diversos ataques para WLAN y LAN.
Figura 2: Un robot tipo "R2D2" con un sistema informático para su programación y control remoto |
CROZONO es inteligente, ajusta la configuración de su hardware automáticamente, busca el objetivo y sabe elegirlo; lleva a cabo el ataque adecuado para crackear la red y una vez que lo ha logrado, realiza un mapeo de la misma obteniendo información de cada equipo activo y llevando adelante el ataque que haya sido previamente definido.
Entre los ataques disponibles se encuentran sniffing y Man in the middle, Mitm con Evilgrade o ataques relacionados con la ejecución de exploits mediante Metasploit. Estos ataques, una vez lanzados, desencadenan una comunicación reversa con el atacante enviándole en tiempo real -a través del acceso ganado sobre la red de la víctima- toda la información capturada y/o necesaria según el ataque que se ha llevado a cabo.
Figura 3: CROZONO ejecutándose en una Raspberry PI adaptada a un drone |
Para lograr todo esto, el framework realiza en resumen, los siguientes pasos: Al iniciar prepara su hardware, lo cual implica detectar el adaptador USB Wi.Fi conectado, cambiar su modo a monitor, cambiar la dirección MAC (Spoofing de MAC Address), entre otras configuraciones. Luego obtiene información acerca de todas las redes Wi-Fi mediante inspección de las señales de los Access Point que están dentro de su alcance, tarea que lleva entre 30 y 60 segundos. En base a la información recopilada, CROZONO decidirá cuál será su objetivo, a menos que se lo haya especificado antes. Para ello tendrá en cuenta por ejemplo, la cercanía con la red y la cantidad de vectores de inicialización (IVs) que ha capturado de la misma. A partir de esto, seleccionará la red más conveniente para atacar.
Al momento de lanzar el ataque hacia la red Wi-Fi, el framework analiza la información previamente capturada sobre su objetivo y detecta su nivel de privacidad (WEP, WPA/WPA2, WPA/WPA2 con WPS) para rápidamente realizar el crackeo del AP ejecutando el ataque adecuado de acuerdo con el protocolo de seguridad empleado. CROZONO intentará crackear la red de la forma más ágil y rápida posible; incorporando diversos módulos de ataque y analizando cuál utilizar. Si eventualmente el ataque seleccionado por el framework no fuera exitoso, éste cambiará de forma automática a otro tipo de ataque, de acuerdo con el nivel de seguridad configurado en la red víctima.
En caso de que no pudiese obtener la contraseña del punto de acceso Wi-Fi, guardará la información capturada - por ejemplo el handshake en WPA/WPA2 - y el drone o robot tendrá la opción de regresar al punto de origen, para que el atacante realice el intento de crackeo de la contraseña desde otro equipo con mayor poder de cómputo. Una vez logrado esto, será posible suministrarle a CROZONO la contraseña de la red para que el robot regrese al punto en donde se encontraba y continúe con la segunda fase del ataque, esta vez dirigido a la red LAN.
Figura 4: CROZONO implementado en un robot diseñado para moverse en espacios públicos |
Una vez obtenida la contraseña del punto de acceso Wi-Fi, el framework modifica la configuración de su hardware y se conecta a la red. He aquí el mayor peligro para la víctima, dado que CROZONO realiza un mapeo de la red obteniendo los equipos activos con sus respectivos puertos abiertos y servicios, y envía esta información en tiempo real al atacante, ejecutando a la vez el ataque que se le haya definido previamente, que como ya se ha dicho puede ser un ataque de sniffing, de MITM - con envío de datos en tiempo real - o acceso a un equipo de la red mediante Evilgrade, enviando al atacante una sesión de Meterpreter o de otro agente sobre dicho equipo, haciendo una conexión reversa a través de la conexión local de internet de la víctima.
CROZONO no necesita interacción con el atacante, por lo que no es necesario que sea controlado por GPRS/3G/4G, logrando que su alcance llegue hasta lugares donde tal tecnología no esté disponible. El hecho de que sea un framework modular, permite que los ataques, además de ejecutarse automáticamente, se lleven a cabo de una forma más rápida que si el atacante tuviera que hacerlos a mano mediante una terminal de comandos. Esto implica una gran ventaja cuando se implementa en drones o robots que tienen una baja autonomía de batería. En la presentación que se impartió en la Ekoparty de 2015 puedes ver en detalle el proyecto CROZONO.
Figura 5: Conferencia sobre CROZONO en la Ekoparty 2015
CROZONO pretende convertirse en la primera elección de los especialistas en seguridad, a la hora de utilizar dispositivos móviles no convencionales para realizar tests de intrusión, que pueden ser de especial interés en sistemas industriales, fábricas, o lugares de difícil acceso al que solo se puede llegar con un drone de gran autonomía, y que podrían permitir al atacante llegar a sistemas SCADA por lugares de difícil acceso físico.
Figura 6: Framework CROZONO funcionando |
Desde la web del proyecto www.crozono.com es posible acceder al repositorio de GitHub donde se encuentra el código fuente del framework.