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