jueves, octubre 06, 2016

Hacking de dispositivos IIOT (Industrial Internet of Things) #IIoT #IoT #Hacking

Durante este mes de septiembre, se han celebrado al edición de la RootedCON Valencia, y la 6ª edición de Navaja Negra , en las cuales se me invitó a presentar una serie de investigaciones y ataques sobre dispositivos y equipos industriales, además de algún dispositivo IIOT, - no se incluyeron accesos a infraestructuras críticas, por posibles temas legales - se presentaron accesos a dispositivos críticos de un amplio abanico del sector industrial, con un titulo de la presentación, el cual daba que pensar, “¿A que piso va?

Figura 1: Hacking de dispositivos IIoT (Industrial Internet of Things)

¿Qué objetivos buscamos?, básicamente se intenta demostrar, la mayoría de las veces con éxito, que existen infinidad de dispositivos vulnerables en cualquiera de nuestras industrias, rastreando varios sectores, como la generación y distribución de energía eléctrica, fotovoltaica, gas, agua, aerogeneradores, sistemas integrales de climatización, y un gran “cajón desastre”de dispositivos IIoT. Por aquí, en este mismo blog, ya se han hablado de muchos casos similares, así que para completar este artículo, puedes leer las historias de:
- PLCs de Allen Bradley envían la password de Administración
- Ataque de fuerza bruta a PLC Omron CJ2H CPU64-EIP
- Captura de claves en PLCs industriales CP1L-EM de Omron
- Tu industria en mis manos
- SCADA: Halcones heridos en tus Infraestructuras Críticas
- Otra de passwords por defecto en Honeywell WebStat (Niagara Web Server)
- Concentradores de Telegestión de Contadores PLC de Telecon integran Latch
- Shodan y sistemas SCADA
- Intentan envenenar agua de un planta depuradora en UK
- La historia del carnicero agradecido
- Unidad de (des)cuidados intensivos 
En esta investigación, siguiendo pasos similares, vamos a ver ejemplos varios:
• Maquinaria industrial (metalurgia, alimentación, servicios auxiliares, etc...
• Energía (plantas foto-voltaicas, plantas generación eléctrica, estaciones bombeo).
• Aerogeneradores.• Sistemas integrales de climatización(edificios e industrias).
• Smartmeters (IIOT- contadores eléctricos).
• Varios( sistemas riego y alumbrado grandes ciudades, frío industrial.
Una vez focalizados los objetivos de estudio y análisis, se centran todos los esfuerzos en una serie de fabricantes concretos, debido a dos factores: experiencia en el sector industrial, y conocimiento más profundo de alguno de ellos. Los tests se realizan sin utilizar ataques de fuerza bruta, siempre con accesos directos abiertos y mediante credenciales por defecto. Se trabaja sobre dos grandes grupos de dispositivos, los controlados directamente por CPU, y los administrados por servidores web propios (generalmente GNU/Linux y versiones de Apache 1.3, o 1.4  sin fortificar - ¡gran error!-)

Figura 2: Algunos de los fabricantes principales catalogados para hacer la investigación

Durante el proceso, se detectaron una serie de vulnerabilidades en bastantes de los equipos y sistemas testeados, que aún existiendo mucha información de ellas con su correspondiente CVE publicado, el 85% de los sistemas IIoT localizados, no han sido actualizados desde el “inicio de los tiempos”. Existe un gran abismo temporal entre el fabricante, desarrollador e implantador final, que imposibilita aplicar de forma robusta políticas de ciberseguridad en muchas industrias, además de que la transición de la industria 3.0 a 4.0, es lenta y complicada por la heterogeneidad de cientos de dispositivos. Las vulnerabilidades localizadas en estos dispositivos IIoT han sido de diferentes tipos, como por ejemplo:
• Ejecución remota de código.
• Extracción arbitraria de ficheros.
• XSS en varios de los sistemas.
• Denegación de servicio.(alto porcentaje).
• Buffer overflow.
• Restricción incorrecta de operaciones de la pila.
• Inyección SQL en plataformas web(del sistema o equipo).
Una vez fijados los objetivos, tenemos dos opciones. La opción uno es hacer un poco de hacking con buscadores y utilizar Shodan o Censys para localizar los objetivos y obtener una cantidad ingente de resultados. La opción 2 consiste en filtrar la búsqueda con una herramienta a medida a fin de optimizar el resultado final.

Figura 3: Arquitectura de la herramienta creada.

Utilizando la interacción de varias herramientas como nmap o Metasploit, y la API de Shodan, se puede diseñar una pequeña herramienta escrita en Python alimentada previamente con datos de los objetivos buscados, tales como fabricantes, modelos, versiones, CPU, clock, ranuras de expansión, puertos específicos de cada fabricante, áreas de memoria, usuarios, passwords, directorios ocultos, etcétera, con el objetivo final de extraer los máximos datos posibles y minimizar falsos positivos.

Figura 4: Resultados obtenidos tras la fase de recogida de información.

Finalmente, una vez realizada la extracción y el posterior filtrado de datos,podemos iniciar el acceso a los diferentes dispositivos. Este acceso se realiza mediante el software (versión demo) de cada fabricante. Los accesos son ejecutados en formato remoto, y en modo monitor, a fin de no alterar el dispositivo auditado.

Estos son algunas de los dispositivos localizados con fallos de seguridad. El primero de ellos es el acceso a una estación de bombeo de agua.

Figura 5: El acceso está realizado mediante un enlace radio en la banda de 433 MHz.

El segundo ejemplo es el acceso a un PLC de una planta de distribución de gas. Además de permitir a un atacante modificar y actuar sobre cualquier elemento industrial, se puede extraer cierta información sensible, debido a que el dispositivo en cuestión puede enviar mensajes SMS, e-mail, se puede acceder a bases de datos (con cadenas de conexión autenticadas mediante usuario/password)  y recursos compartidos en una red MS Windows dentro de una arquitectura de Active Directory. Es decir, el atacante podría atacar la red Windows desde el PLC, haciendo bueno el concepto de Shadow IoT.

Figura 6: Acceso a PLC en planta de distribución de gas.

Acceso a un aerogenerador y a un sistema de cabecera de una planta fotovoltaica. Estos dispositivos disponen de servidor web propio integrado, con múltiples vulnerabilidades de funcionamiento y acceso, como usuarios y password por defecto, posibilidad de subida de scripts, configuración de un segundo servidor DNS, etcétera.

Figura 7: Funcionamiento del sistema de la turbina.

Figura 8: Acceso a sistema de cabecera de planta fotovoltaica.

Mediante el script Termineter, escrito en Pyhton por dos investigadores y publicado a finales del 2014, se demuestra como es posible con pocos medios y conocimientos técnicos, acceder a los smartmeters que tenemos instalados en nuestras viviendas, mostrando los datos del dispositivo y lecturas energéticas.

Figura 9: Ejecución de Termineter contra smartmeter local conectado vía serie.

Figura 10: Smartmeter al que se conecta y contra el que se lanza Termineter.

Conectando una Raspberry Pi y un pequeño script de lectura secuencial, es posible acceder a otros smartmeters conectados al mismo concentrador de la compañía - que no tenía Latch -. El acceso se realiza en modo “invitado”.

Figura 11: Lectura de varios Smartmeters conectados al mismo concentrador hecha vía remota mediante una Raspberry Pi.

Cabe destacar primero mi sorpresa a la infinidad de dispositivos vulnerables localizados y la facilidad y pocos conocimientos para acceder a ellos. Resulta chocante que sea posible acceder a sistemas tan curiosos como equipos de frío de tanatorios  - en uno de ellos incluso era posible ver los “clientes de la semana” debido a una vulnerabilidad en Mysql -, climatización de edificios públicos, sistemas automáticos de lavado de vehículos con posibilidad de limpieza “infinita”, paneles informativos de carreteras, etcétera, pero el mas preocupante a mi modo de ver es el sistema que da titulo a las charlas: Los ascensores

Figura 12: Acceso libre a un ascensor, al que es posible configurar sin seguridad.

Cantidad ingente de dispositivos vulnerables en nuestro país, con el agravante que transporta personas y vulnera su integridad física, y con los que es posible configurar, o interaccionar con el equipo hasta limites de desactivar cualquier seguridad existente.

Conclusiones finales:

En un tiempo en el que fortificamos parte de nuestra vida digital o nuestros sistemas habituales usando contraseñas, dobles factores de autenticación, cifrado de discos, smartphones protegidos, portátiles con antirrobo, tarjetas de claves, firewalls, conexiones VPN, etc..., hay ámbitos cotidianos a los que no le prestamos la atención suficiente en temas de seguridad, y hay que hacerlo, como decía el documento de Seguridad en IoT que publicaba ElevenPaths, el ámbito de uso de los dispositivos IoT, como es el caso de los dispositivos industriales, puede ser de una sensibilidad mayor.

Figura 13: El CNPIC actualmente informa a día de hoy que el riesgo de un incidente de seguridad es ALTO

Tal vez por que no tiene repercusión mediática o notoriedad el acceso a un dispositivo industrial IIoT, o simplemente porque los cibercriminales aprovechan estos fallos para hacer ataques muy dirigidos como el de la fábrica potabilizadora de agua en UK. Por otra parte parece que hay “luz al final del túnel”, porque organismos oficiales, como el Centro Nacional de Protección de Infraestructuras Críticas, están realizando un trabajo contrarreloj para mitigar y concienciar sobre el futuro de nuestros dispositivos y equipos industriales. ¡Hacedles caso que el nivel de riesgo actual es ALTO!

Autor: Jordi Ubach (@jubachm)

1 comentario:

  1. y bueh seguimos con la misma falla de siempre, factor humano, sys admins flojos y no utilizando un metodo robusto de autenticación....

    ResponderEliminar