[repost] MÚLTIPLES VULNERABILIDADES ( ICS ) - SCHNEIDER ELECTRIC - 1

 El post actual esta basado en la charla que tuve  la oportunidad de presentar  el mes pasado junto a Sergio Viera, en Ekoparty. Lo cierto es que sobre el escenario me traicionaron "un poco" los nervios. A pesar de ese pequeño detalle, pase por una experiencia fantástica.



En los siguientes artículos pondré foco sobre vulnerabilidades en 'Circuitos Lógicos Programables', tal vez mas conocidos como PLC.

Un poco de historia
El primer PLC fue desarrollado a finales de 1960 de la mano de Bedford Associates comenzando así una nueva empresa dedicada al desarrollo, fabricación, venta y mantenimiento de este nuevo producto conocido como Modicon (MOdular DIgital CONtroler). 

La marca Modicon fue vendida en 1977 a Gould Electronics, y posteriormente adquirida por la compañía francesa AEG, para finalmente ser adquirida por la alemana Schneider Electric, el actual propietario.

Un PLC es una computadora generalmente utilizada en ambientes industriales para automatizar procesos electromecánicos, que a diferencia de las computadoras de propósito general, está diseñado para recibir múltiples señales de entrada y de salida. Además, poseen características de hardware para ambientes extremos, como soportar rangos de temperatura amplios, inmunidad al ruido eléctrico y resistencia a la vibración y al impacto.

La mayoría de los PLC son extensibles mediante su arquitectura modular. Hay una tendencia a conectar los PLCs mediante módulos de conectividad,(para el caso de los dispositivos de Schneider, estos son modulos de nombre NOE) que permiten gestiones remotas.

ASPECTO FÍSICO DE UN PLC
Mirano.jpgTM241.jpg
Los PLC de las imagen perteneces ambos al vendor Schneider Electric. Modelos, M340 y M241

PUERTOS DE COMUNICACIÓN - PLC Schneider Electric -

 +---------------+--------------+----------------+
 | PUERTO        | PROTOCOLO    | SERVICIO       |
 +---------------+--------------+----------------+
 |.21............| tcp..........|.ftp............|
 +---------------+--------------+----------------+
 |.23 ...........|.tcp..........|.telnet.........| <-- S.O VxWork
 +---------------+--------------+----------------+
 |.80............|.tcp..........| http...........|
 +---------------+--------------+----------------+
 |.111...........|.tcp..........|.rpcbind........|
 +---------------+--------------+----------------+
 |.502...........|.tcp..........|.mbap...........| <-- MODBUS
 +---------------+--------------+----------------+
 | 67........... |.udp..........|.dhcps..........|
 +---------------+--------------+----------------+
 | 69............|.udp..........|.tftp...........|
 +---------------+--------------+----------------+
 | 111...........|.udp..........|.rpcbind........|
 +---------------+--------------+----------------+
 | 161...........|.udp..........|.snmp...........|
 +---------------+--------------+----------------+
 | 17185.........|.udp..........|.wdbrpc.........|
 +---------------+--------------+----------------+

Estos puertos variaran dependiendo del modelo de PLC.
Mas adelante profundizare en las potencialidades de algunos de los servicios escondidos detrás de esos puertos...


Esquemas de red corporativa / Industrial

interconexión.png

La imagen de arriba presenta un esquema clásico de conexión. Nuestro esquema teórico tiene zonas bien segmentadas. Al final del recorrido, en lo profundo de la red llegamos a la parte critica. Donde encontraremos dispositivos que trabajan sobre la linea de producción, tomando decisiones de manera cotidiana 24 x 7 los 365 días del año. 

En el caso de los PLC, esas decisiones son tomadas en base a la información que reciben de sensores conectados. Esta señal sera tomada y procesada para finalmente en favor a las señal de entrada trasmitir una señal consecuente a los llamados Actuadores, que serán dispositivos (finales) que tendrán conectados. Ejemplos de actuadores; motor, prensa hidráulica, juego de luces testigo, reles y desde luego otro PLC, etc, por mencionar algunos.

Frecuentemente este lindo esquema es violado absolutamente, cuando es necesario acceder al dispositivo remotamente por algún operador\administrador.

Supongamos que por el motivo que fuere la empresa que cuente con PLC sobre linea de producción necesite actualizar la lógica del PLC y no cuenta con técnicos idóneo en planta. Entonces le darán acceso a un responsable técnico para que acceda remotamente.  

Como están manejando las industrias este esquema ?, El técnico local disponibiliza puertos remotos o pone al PLC en una DMZ y listo. Ya se podrá acceder desde Internet y cumplir la misión de la empresa. 

Por que se opta por esta solución?
ES MAS FÁCIL Y RAPIDO LEVANTAR PUERTOS QUE CONFIGURAR CORRECTAMENTE UNA VPN.

En ese momento ese dispositivo ya es susceptible de recibir un ataques desde internet, con todo lo que eso representa. 

De por si, cualquier (si, cualquierdispositivo conectado a Internet siempre sera susceptible de ser atacado.

Cuando hablamos de ICS, a la lista de posibles atacantes sumamos un nueva "potencial" amenaza; Estados Enemigo.

Los dispositivos industriales siempre serán un Target suculento para los Cibercomandos y con esta mención entramos al campo de la 'Ciberguerra'. 

Monitoring_a_si.jpgchina-ciberguerra-hackers.jpg

No nos faltan precedentes. 
Me voy a limitar a mencionar el caso ultra-super conocido del malware 'Stuxnet', que afecto la planta de enriquecimiento de uranio de Natanz en Iran en el 2010

Como nota, la central de Natanz, estaba desconectada de Internet 

Vulnerabilidades en PLC hoy

Las vulnerabilidades como tal no son novedad. En la charla las presente como 'viejas amigas'. 
Los PLC, cuentan con un servicio web para pequeñas gestiones
Es en ese servicio donde en principio enfoque las búsqueda de vulnerabilidades. 







Los fallos de los que hago mención son


Remote File Inclusion
Local File Inclusion
Credentials Hard-coded
Password Storage as Plain Text
SNMP (read-write)
Bypass Login Form (web)




Continuara...




Saludos,
@Capitan_Alfa

Comentarios

Entradas populares de este blog

[repost] MÚLTIPLES VULNERABILIDADES ( ICS ) - SCHNEIDER ELECTRIC - 6