miércoles, 9 de noviembre de 2016

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 asi 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,(modulo llamado NOE) que permiten gestiones remotas.

ASPECTO FISICO 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 sectores bien segmentados. 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 re-configura el módem, abre puertos - ante la duda los abre a todos - 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.

Listo ya esa industria es susceptible de recibir un ataque que afecte directamente el 'core' de su negocio, haciendo referencia a su producción. Sin saberlo están exponiendo sectores críticos de cara a Internet.  

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

Cuando hablamos de ICS, a la lista de posibles atacantes sumamos un nuevo potencial  enemigo; a cualquier posible Estado Enemigo.

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

Monitoring_a_si.jpgchina-ciberguerra-hackers.jpg

No nos faltan presedentes. 
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

No hay comentarios.:

Publicar un comentario