miércoles, agosto 21, 2013

Tu industria en mis manos

El título puede parecer algo desmedido, pero realmente puede llegar a ser así. Os cuento, me dedico profesionalmente a la automatización industrial, y aunque tengo aprobado algún Microsoft Certified no me considero ni por asomo un profesional del sector de la informática, sino sólo un aprendiz.

Por motivos ajenos al trabajo, estaba yo colaborando en el proyecto de automatización de una máquina cuyo emplazamiento sería “en mitad de la nada”, donde por supuesto, las conexiones a Internet de la máquina no pueden hacerse vía ADSL. Como solución, el integrador decidió colocar un módem GPRS, y conectar a él directamente el PLC (Programmable Logic Controller).

Para los que no lo estéis acostumbrados a este mundo, una definición rápida de PLC sería la de un elemento utilizado en el mundo industrial para controlar máquinas y procesos. Es decir, es como un pequeño computador, pero con Entradas/Salidas estandarizadas que permiten controlar sensores y actuadores industriales.

El hecho de conectar el PLC directamente al módem es práctico y cómodo, pero desde el punto de vista de seguridad tiene ciertos problemas que deben tratarse, al estar expuesto a Internet. Sin embargo, en muchas instalaciones se fía todo a que nadie sepa en qué dirección IP, en qué puerto y con qué software se puede acceder a ellos. Es decir, seguridad por oscuridad. Pero si sabes esas tres cosas, suele ser fácil para cualquiera tomar control de este tipos de PLCs. A mí me ha permitido divertirme un rato con ellos.

Sabiendo esto, mientras trabajaba, me hice un pequeño programa que buscaba direcciones IP con el puerto 9600 abierto en mi mismo rango de dirección IP pública. El puerto 9600 es el de conexión por defecto a los PLCs de marca Omron, el ISP de salida para la prueba es Iberbanda.

Lo dejé corriendo al salir de trabajar, sin demasiadas esperanzas de éxito, pero cuál fue mi sorpresa cuando llegué de vuelta al día siguiente y antes de tomar café para salir del modo Stand-by de por las mañanas, vi que se habían encontrado varias direcciones IP en mi mismo rango con el puerto 9600 abierto. No me lo acababa de creer, así que decidí comprobar que había detrás de alguna de esas direcciones IP. Ahí estaba, a la primera, un PLC Omron ¿en serio? ¿así de fácil?

Figura 1: Conexión al puerto 9600 de una dirección IP

Me conecté con el software específico para este tipo de controladores y los resultados fueron sorprendentes. Estaba ante un PLC que parece que, entre otras cosas, se dedica a monitorizar el sistema de gas en una fábrica. En la primera imagen podemos ver que se monitorizan los valores de presiones y temperatura del gas.

Figura 2: Alertas gestionadas por el PLC

En la segunda se muestra la parte del programa que envía mensajes SMS con los eventos que genera el sistema de monitorización, como por ejemplo, Cuando hay una Fuga de GAS.

Figura 3: Envío de mensajes SMS en fugas de gas

Me preocupó pensar el que esto pudiera estar así tan expuesto y pensé que los que habían montado esto no deberían haber pensado ni por asomo en los riesgos de seguridad que tienen unas instalaciones hechas de esta forma. Bendita ignorancia.

Revisando algunas de las restantes direcciones IP que tenían el puerto 9600 abierto y que no eran PLCs de Omron, nmap las detectaba como otros sistemas bien conocidas en el mundo de automatización industrial. Decidí pasarme al hacking con buscadores y revisar cuántos de ellos había en Shodan, lo que ofreció resultados mucho más que preocupantes, ya que hay demasiados de ellos con las credenciales por defecto.

Si tienes un sistema industrial con PLCs, por favor, asegúrate de que los accesos a estos están bien protegidos, que no es posible conectarse sin autenticarse y que las credenciales por defecto están cambiadas. Si no lo haces, estarás poniéndoselo muy fácil a unos posibles malos, especialmente ahora que se la liberado Zmap con su capacidad de escanear Internet completo en una hora y después de todas las charlas que ha habido ya en conferencias de hacking sobre este tema.

Autor: Juan Luis Valverde
er_wanchu@hotmail.com

5 comentarios:

  1. Muy buen articulo.

    El otro dia tenia una urgencia y queria intentar hablar con un entendido en la seguridad y entre a este chat que hay de una web conocida. ¿alguien me puede decir si es un troyano lo que se ejecuta en el pc en java?

    Link: http://chat.hackhispano.com/

    Captura pantalla: http://s2.subirimagenes.com/otros/8587494chatjavatroyano.jpg

    Saludos

    ResponderEliminar
  2. Perdón, aqui se ve mejor:

    http://www.subeimagenes.com/img/chat-java-troyano-724762.jpg

    Saludos

    ResponderEliminar
  3. Muy interesante...¿y con conectarte al PLC ya ves el código que está programado?
    Un saludo

    ResponderEliminar
  4. Pues si no está protegido con clave si, y además puedes incluso programarlo... yo soy informático y también trabajo como ingeniero de sistemas programando PLC y esto me parece bastante preocupante.

    Muy interesante el post, gracias.

    ResponderEliminar
  5. Es realmente sorprendente que se encuentren esos sistemas con una mínima protecion

    ResponderEliminar