martes, octubre 29, 2013

Captura de claves en PLCs industriales CP1L-EM de Omron

Después de encontrarme - casi - sin buscarlo con la historia que os narré en "Tu industria en mis manos", como dice un gran amigo, no podía dejar de “pegar botonazos”, con lo que he continuado en la misma línea de pruebas. Como se desprende de aquel artículo, existen multitud de sistemas de automatización industrial expuestos en Internet con credenciales de acceso configuradas con sus valores por defecto, lo cual ya sabemos lo peligroso que puede llegar a ser.

Aunque esto suele ser debido a la mala praxis o a puro desconocimiento de los riesgos por parte del integrador, pero lo más grave es cuando los propios fabricantes no se preocupan por la seguridad de sus sistemas.

En esta ocasión nos vamos a centrar en los autómatas industriales de la firma Omron. He realizado un pequeño estudio utilizando las capacidades de zmap y masscan, además de un pequeño programa propio, para buscar este tipo de controladores expuestos en Internet. Tras los resultados iniciales se puede concluir que, de los sistemas encontrados, aproximadamente el 10% están protegidos mediante el uso de una clave mientras que el resto no tiene ningún tipo de protección para acceder.

Centrándosos ya solo en ese 10%, la pregunta que nos podemos realizar es: "¿Como de segura es la clave de protección de este tipo de dispositivos?" Para intentar responder a esta cuestión, he realizado una pequeña prueba de concepto, concretamente con un controlador de tipo “CP1L-EM”.

Figura 1: Controladores Omron gama CP1L

Para la prueba de concepto simplemente vamos a hacer un esquema típico de ataque en red de datos de man in the middle envenenando la tabla ARP con mensajes spoofeados. Con esto nos colocaremos entre el PLC (Programable Logic Controller) y el usuario que está conectado a él. Lo que se espera no es nada más que capturar el momento en el que el software de programación del PLC intercambie la clave de acceso con dicho PLC.

Figura 2: Haciendo un man in the middle con arpspoof en Kali Linux

Como se puede ver, se ha utilizado arpspoof de Kali Linux para hacer el ataque. Ahora solo hay que esperar el momento en el que el programador bloquee o desbloquee el acceso al PLC mediante su software de programación para capturar la negociación de acceso, para lo que se debe capturar todo el tráfico de red utilizando un programa como Wireshark.

Figura 3: Configuración de claves de acceso en el software de programación del PLC

Aplicando los filtros pertinentes por dirección IP podemos observar que la clave que se envía desde el software de programación hasta el dispositivo PLC se pasa en texto claro, sin usar ningún tipo de cifrado o algoritmo de seguridad.

Figura 4: La clave de acceso va en texto claro entre el dispositivo PLC y el software de programación
Como podemos observar, la clave se pasa en claro entre el software de programación y el autómata programable, con lo que la interceptación de ésta es tremendamente sencillo.

Afortunadamente, hace tiempo que se están dando pasos por parte de la UE para que se tome conciencia del riesgo que entraña el tener desprotegidos este tipo de sistemas, pero aún así parece que no aprendemos.  Ahora que “todo el mundo” se preocupa de si la NSA tiene a su PRISM espiando la cuenta de Facebook, muchas de las grandes empresas tienen los sistemas que controlan sus máquinas y procesos al alcance de cualquier desaprensivo con tiempo libre.

Saludos,

Juan Luis Valverde Padilla
jl.valverde@jvalverde.es

1 comentario:

Anónimo dijo...

Hola.

Al menos parece que el autómata no envía la clave en texto plano para que la compare el software de PC como ocurre con otras marcas. Quieras que no eso es un plus.

Entrada destacada

Infraestructuras Críticas y Sistemas Industriales: Auditorías de Seguridad y Fortificación de @0xWord

Desde hoy está disponible a la venta un nuevo libro de 0xWord centrado en la seguridad de los Sistemas Industriales y las Infraestructuras...

Entradas populares