jueves, 27 de febrero de 2014

Ataque de fuerza bruta a PLC Omron CJ2H CPU64-EIP


Recientemente contaba en un importante portal dedicado a la automatización industrial cómo había tenido que improvisar “on the fly” un ataque por fuerza bruta contra CX-Programmer para liberar los permisos de lectura de programa en un PLC Omron modelo CQM1-CPU43 protegidos por un código decimal de cuatro dígitos - 10.000 combinaciones -.

Los motivos que permitieron el éxito del ataque fueron dos. Por un lado la CPU que con una antigüedad de 16 años como mínimo no limita el número máximo de intentos de liberación de permisos que se pueden realizar mediante peticiones a su puerto serie y  por otro lado está el tema del software, que tampoco tiene limitaciones en este sentido.

Que la CPU no limite el número de intentos por el puerto serie tiene cierta lógica cuando hablamos de equipos tan antiguos nacidos en tiempos menos preocupados por la seguridad en la electrónica industrial ya que en modelos más modernos de esa misma CPU sí que fue limitado el número de intentos que se podían hacer para desbloquear un sistema, pero me resultó algo más extraño que el software no implementara ya ningún control porque estamos hablando una versión actual del mismo.

Además, en la prueba que realicé el ataque se producida conectado al cable serie, con las limitaciones de tiempo y de necesidad física de conectarse cerca, pero ¿qué pasa con las comunicaciones TCP/IP que ya llevan este tipo de controladores? ¿Estarían protegidas contra ataques de fuerza bruta?

Un ataque de fuerza bruta a un PLC por TCP/IP

El primer paso fue el de pedir a Omron las especificaciones del protocolo FINS (Factory Intelligence Network Service) para buscar el comando de liberar la protección, pero por algún motivo han decidido no poner este comando en la lista del manual “Sysmac CS/CJ/CP Communications Commands Reference Manual” que me enviaron.




Como ya pudimos ver cuando capturábamos las claves de un PLC mediante un ataque MITM, Omron no cifra las comunicaciones entre el PLC y su propio software de programación. Este software de hecho utiliza el propio protocolo FINS para la comunicación con el PLC, así que fue sencillo analizar mediante Wireshark el proceso de intento de liberación de protección para ver la trama enviada del software de controla al PLC.

Continuar leyendo...


Protección contra escritura mediante comandos FINS en CS/CJ de Omron


Cada día son más habituales los escenarios donde la red corporativa de la empresa tiene como nodos algún que otro PLC. Personalmente no soy partidario de mezclar las redes de producción y de control, pero en ciertas ocasiones esto puede que sea inevitable.

Cuando nos vemos obligados a tener PLCs en la misma red lógica que otros equipos debemos de tomar todas las medidas posibles para evitar accesos no autorizados.

En el caso de PLCs Omron, una de una de las medidas a tomar es configurar la “Protección de escritura de comandos FINS”.

Tal como vemos en la imagen extraída directamente del manual, en los modelos CS/CJ cuya versión sea 2.0 o superior, podemos prohibir la operación de escritura y otras operaciones de edición enviadas a las CPU como comandos FINS a través de una red (Incluyendo operaciones de escritura de CX-Programmer, CX-Protocol,….).

También podemos observar que en las versiones de CPU anteriores a la 2.0 no existe esta funcionalidad.





Tal como podemos ver, se prohíben solamente los accesos de escritura, quedando permitidos los accesos de lectura, tanto de memoria como de programa. Esto puede ser interesante si nos interesa centralizar la recogida de datos de varios PLCs de la red, pero queremos evitar que los equipos encargados de recolectar los datos tengan permiso de escritura sobre los PLC.

La lista de comandos FINS que son restringidos por esta configuración es la siguiente según el manual de Omron.

Continuar leyendo...



viernes, 14 de febrero de 2014

Situación actual de la ciberseguridad en el mundo de la automatización industrial.


Si eres alguien relacionado con el mundo de la electricidad y electrónica seguramente conozcas el portal infoPlc. Es probablemente el portal mas importante del país dedicado a la automatización industrial.

Recientemente han publicado un artículo donde analizan el estado actual de la ciberseguridad en el ámbito de la automatización industrial y me han permitido opinar al respecto.








miércoles, 15 de enero de 2014

Ataque de fuerza bruta contra CX-Programmer.

Hace unas semanas tuve una intervención un tanto particular. Un cliente había adquirido una envolvedora para palets de segunda mano parecida a la de la imagen.



La envolvedora en cuestión estaba controlada mediante un PLC de la marca Omron, modelo CQM1-CPU43. Este PLC se estuvo comercializando en España desde 1992 hasta 1998 aproximadamente. Os podéis hacer una idea de la antigüedad de la máquina.

La intervención no encerraba mayor dificultad que la de hacer una puesta en marcha y posterior modificación de una máquina sin documentación alguna, y sin soporte porque el fabricante al parecer ya no existe. Todo apuntaba a que sería algo muy divertido, y lo fue.

Una vez realizadas acometidas eléctrica y neumática se solucionan algunos problemas de conexionado y un par de fugas de aire.
Me conecto al PLC y sorpresa, el PLC tiene contraseña. Contraseña que debió poner un fabricante que ya no existe.

Esto me hizo recordar mis primeros pasos en el mundo de la automatización industrial. En aquellos años este modelo de CPU ya estaba descatalogado, de echo era el momento de transición entre el CQM1H y el CJ1. Para este modelo de PLCs había software que realizaba un ataque de fuerza bruta... continuar leyendo.

sábado, 28 de diciembre de 2013

Cracking Almacén: Un keygen para un sistema de control.


Hoy os voy a contar la historia por la que la curiosidad, en lugar de matar al gato, me acabó llevando a terminar haciendo algo de ingeniería inversa al software de control de un almacén. La aventura comenzó cuando me topé con un sistema similar al que puede verse en la imagen siguiente:
Como se puede apreciar, se trata de un almacén automatizado compuesto por una serie de bandejas para guardar elementos varios, junto con un sistema de traslación que nos acerca la plataforma de trabajo a la zona deseada del almacén. La idea es que por medio de una buena catalogación de los elementos, el sistema los localiza de forma automática.

El manejo del sistema de almacenaje automatizado se hace completamente desde un terminal táctil que además está conectado a un software de gestión de almacén que permite controlar las entradas y salidas de elementos. Algo fundamental en almacenes de grandes empresas que tienen que controlar dónde está lo que guardan. El terminal táctil en cuestión es un equipo PC con una versión de Microsoft Windows CE como sistema operativo.

Para cambiar algunos de los parámetros de la configuración del sistema, el software de control tiene un sistema de seguridad que no deja entrar en el modo " Support " y remite directamente al servicio técnico del fabricante para solicitar un código temporal de acceso. Cuando se llama por teléfono al servicio técnico es necesario que indicar el código que aparece en pantalla, además de... continuar leyendo.

jueves, 19 de diciembre de 2013

¿Por qué no publico en mi propio blog?

Algunos de los que me conocéis me habéis echo esta pregunta.

- "¿Por qué publicas los artículos en el blog de Chema Alonso en lugar de crear uno propio?".

Fácil, realmente el blog ya lo tengo, lo que no tengo son visitantes. Algunos incluso me habéis corregido.

- "Si hubieses publicado en tu blog lo mismo tenías mas visitas"

Bah, no creo. Mientras escribo estas líneas tengo sobre 200 vistas al blog. Igual si hubiese publicado aquí el articulo de Captura de claves en PLCs industriales Omron  el número de visitas sería algo mayor, ya que algún despistado hubiese llegado tras buscar como romper las claves de PLCs Omron. Y posiblemente ese sería el único artículo que aumentara el número de visitas, porque tanto el de Tu industria en mis manos como el del Carnicero agradecido al hacker no creo que hubiesen afectado al número de visitantes. Aunque he de decir que me siento igual de orgulloso de los tres artículos.

Y si fuese verdad, y si publicar esos artículos aquí aumentara sensiblemente el número de visitantes. Pues me da igual, yo no me dedico profesionalmente a la seguridad ni a escribir blogs, me considero profesional del mundo de la automatización industrial, un mundo fascinante. Esto es solamente una afición en la que me considero noob, muy gratificante a veces, pero una afición. Y si vuelvo a tener algo interesante que contar, lo haré en un lugar que tenga difusión -si me lo permiten, claro- porque al final dejaré de tener cosas interesantes que contar, o me apetecerá contar cosas de política, de Bofhers o vaya usted a saber.

Entonces será cuando publique aquí, cuando tenga algo que contar sin trascendencia, que no pueda ayudar a nadie a darse cuenta que tiene algún sistema al alcance de desaprensivos, de maleantes con ingenio, de ese tipo de gente que utiliza todo su potencial -y suele ser mucho- a comprometer sistemas para tener un beneficio económico.

Os aseguro que me queda material para rato, pero es poco probable que lo veáis por aquí.

Saludos.


viernes, 22 de noviembre de 2013

¡¡ Nos espían !!

No sé ni para que me he registrado en esto de Blogger, si ya sabía yo que no iba a tener tiempo de mantenerlo....

Bueno, ahora que tengo un rato. ¿Visteis Salvados el domingo 17 de Noviembre?. Yo voy a hacer como que lo viste para explicarte el tema.

En el minuto 9:51 (aprox) Chema Alonso muestra la pantalla de su portátil. Cuando todos estabais mirando que la webcam estaba tapada, se puede ver que tiene abierto en el explorador su propio blog. El tema de portada es "Captura de claves en PLCs industriales...".

Pues sí, es mi artículo y puedes volver a leerlo aquí:

http://www.elladodelmal.com/2013/10/captura-de-claves-en-plcs-industriales.html