Breve recordatorio de protocolos, industriales

Anuncios

Como todos sabemos una de las labores que han de llevarse a cabo en auditorías, diagnósticos o la acción de un atacante contra nuestras instalaciones es la recolección de información de los equipos que están en funcionamiento. Es decir, debemos conocer qué dispositivos hay conectados; qué servicios exponen en la red para uno u otro fin; versiones de hardware; firmware o sistema operativo; software instalado si lo hubiera; etc.

De esta manera podremos determinar, por ejemplo, algunas cuestiones como si una vulnerabilidad nos afecta o no; si tenemos, o no, algún servicio habilitado pero que no se esté utilizando; si tenemos acceso no controlados; etc. etc.

En entornos industriales dependiendo de diversos factores podemos encontrar distintos protocolos de comunicaciones, por ejemplo:

  • Fabricante del equipo del sistema de control; algunos optan por unos u otros.
  • Tipo de control; los requerimientos para el control de proceso o control de movimiento requieren del empleo algunos optimizados para tareas específicas.
  • Ámbito de uso según sector; existen protocolos optimizados para ciertas tareas como puede ser sector eléctrico, maquinaria, seguridad, etc.

Lo cierto es que la tendencia es que se empleen protocolos basados en tecnología Ethernet  y TCP/IP de tal manera que los equipos que lo implementan puedan comunicarse de manera similar a las IT.

¡¡¡OJO!!! de manera similar que no igual.  Debemos recordar que los requisitos de latencia, Jitter y determinismo no son los mismos en unas redes que en otras!!!!!!

Así pues cada uno de los protocolos que se emplean sobre este tipo de redes utilizan diferentes números de puertos, desde 1 a 65535, y estos sobre la capa de transporte tanto por TCP como UDP.

Para que os hagáis una idea de la variedad existen os dejo una guía publicada por SANS en la podéis encontrar un resumen de algunos de ellos.

SANS, Industrial Protocols Cheat Sheet.

Esto es tremendamente importante para luego poder configurar adecuadamente las reglas de nuestros cortafuegos, dentro de la aplicación de estrategias de Separación, Segmentación y Virtual Patching. Estos es, qué debe comunicar con qué y de qué forma siempre bajo la premisa que «dejar pasar» lo  ESTRICTAMENTE NECESARIO.

Adicionalmente, a lo anterior, no nos debemos olvidar de aplicar la funcionalidad que los fabricantes de cortafuegos para realizar DPI (Deep Packet Inspection) sobre el tráfico que vamos a permitir. Es decir, para aquellos que no hayan oído hablar de ello me refiero a realizar un análisis a nivel de Capa 7, Aplicación. Esto es, poder identificar el protocolo pero además los comandos, instrucciones o consignas que puedan enviarse a través de ellos. Es como si escuchando una conversación entre dos personas podamos, aparte de identificar el idioma, también la gramática, la sintaxis o el vocabulario.

A continuación os dejo un par de entradas donde lo explico más detalladamente:

Control de Aplicación en entornos ICS/SCADA, Parte I

Control de Aplicación en entornos ICS/SCADA, Parte II

Pero también aparte de leer y/o escribir datos de diferente índole; poder interactuar con los dispositivos; realizar acciones sobre éstos; también podremos emplearlos para obtener información de ellos como versión de hardware, firmware, fabricante, etc. En particular para  llevar a cabo acciones sobre ellos con uno u otro fin. Lo que conocemos como «Information Gathering». Todo depende de lo que queramos hacer y su intencionalidad.

Existen herramientas que nos pueden ayudar en esta tarea, para unos u otros protocolos y de esa manera obtener información del equipo en cuestión.

Aquí os dejo una entrada empleando PROFINET-DCP pero en futuras entradas iremos descubriendo otras.

ICSSPLOIT. PROFINET-DCP

¡Nos vemos en la siguiente!

Herramienta: EtherNet/IP & CIP Stack Detector, Parte I

Anuncios

Como anunciaba en la entrada «Breve recordatorio de protocolos, industriales» podemos encontrar algunas herramientas o software que nos puede ayudar a obtener información sobre los equipos finales. Esta tarea denominado como «Information Gathering» es vital para poder conocer el equipo, tecnología, o componente sobre el cual queremos llevar a cabo distinto tipo de acciones. Obviamente nosotros lo haremos con fines éticos, pero también conviene tener en cuenta que una persona malintencionada puede emplearla con otra finalidad.

Hoy hablaremos cómo hace esta tarea sobre equipos que utilicen el protocolo Ethernet/IP para las comunicaciones. Ethernet/IP es la implementación de CIP (Common Industrial Protocol) para ser utilizado en redes Ethernet y ofrecer servicios basados en TCP/IP. Además permite la creación de arquitecturas tolerantes a fallos en forma de anillo a través de DLR (Device Level Ring), algo similar a lo que podríamos lograr con PROFINET-MRP. No  quiero extenderme mucho más en este sentido porque no es el objeto, pero os dejo un enlace donde encontraréis muchas más documentación.

ODVA, Document Library

Hoy hablaremos de la herramienta diseñada por el equipo del fabricante de soluciones de seguridad «Claroty». Éste ademas cuenta con un equipo de investigadores denominado «Team82» el cual publica diferentes e interesantes artículos.

Team82, The Claroty Research Team

Pues bien, esta empresa dispone en su cuenta de Github la herramienta «Ethernet/IP & CIP Stack Detector», con la que podremos identificar las características del equipo a partir cómo implemente el citado protocolo. Os dejo el enlace desde dónde os podréis descargar la misma y poderla instalar en un distribución. En mi caso lo he hecho sobre una Kali Linux algo antigua pero que me ahorra tener que adaptar las más nuevas para software más viejo.

Ethernet/IP & CIP Stack Detector, GITHub

Dicho esto, una vez que la ejecutemos podremos obtener la siguiente información y obtendremos los siguientes resultados:

A partir de aquí, podríamos empezar a buscar manuales y conocer sobre los recursos que pueden llegar a disponer así como las posibles vulnerabilidades que pudieran existir y si serían, o no, de aplicación…

Manual 1

Manual 2

Advisory 1

Advisory 2

Advisory 3

Con esto, ya solo toca meter horas revisando y contrastando contenido en los resultados de las búsquedas.

¡Nos vemos en la siguiente!

Gestión de redes y Ciberseguridad

Anuncios

Para que podamos bastionar, configurar, habilitar o deshabilitar servicios, características o funcionalidades de los equipos presentes en los entornos industriales, plantas, talleres, maquinaria, células de automatización, etc. éstos deben de ser capaces de ser administrables. Es decir, poder acceder a ellos bien de forma local o remota, a través de una interfaz gráfica, de texto o cliente software, y así poder llevar a cabo cambios sobre sus prestaciones.

En paralelo, con el creciente aumento de la conectividad los switches juegan un papel fundamental ya que es el primer elemento que permite a los dispositivos a ellos acceder a otros por medio de una red, bien Ethernet o Ethernet Industrial. Sí, una cosa son las comunicaciones en los entornos de oficinas o IT (Ethernet) y otra muy distinta la red de planta, periferia, o buses de campo sobre Ethernet Industrial.

Desafortunadamente, bien por cuestiones económicas o desconocimiento, la existencia de estos equipos no gestionados es muy muy amplia. Así como en entornos IT nadie imagina no poder configurar una VLAN, tener una interfaz de administración, configurar un puerto espejo, etc. en los entornos OT es muy común no disponer de ello.

Esto hace que cualquier equipo va a tener total visibilidad sobre los elementos de su subred por estar en el mismo dominio de Broadcast pudiendo descubrir bien a través de protocolos como LLDP, peticiones ARP, etc. los equipos allí presentes. Si esto lo sumamos a la existencia de redes planas en la que o no hay o todo es la misma VLAN el alcance es mucho mayor.

Menú de configuración switch Phoenix Contact

A esto hay que sumar la posibilidad que terceros, esto son ingenierías o proveedores, puedan conectarse a nuestras redes para llevar a cabo intervenciones programadas o puestas en marcha, lo que sumado a una falta de implementación de controles de acceso podría dar lugar al robo, copia o modificación no autorizada de desarrollos, programaciones, configuraciones o parametrizaciones hechas por cada uno de ellos. Y que dicho sea de paso puedan ser nuestra competencia.

Por ello desde un punto de vista de aplicación de seguridad en redes es vital que debamos desplegar switches que sean gestionables para poder aplicar esos controles y que un switch no gestionable no podrá. Pasamos de comunicar todo con todo, tener plena visibilidad a decir esto sólo debe comunicarse con esto y sólo esto debe verse con aquello.

Esto nos va a permitir aplicar de manera más eficiente estrategias como la microsegmentación o aplicar un control de accesos a más bajo nivel para aquellos escenarios donde tengamos que reducir el nivel de exposición de equipos más críticos. También es cierto que existen cortafuegos que permiten operar en capa 2. Por ejemplo, en modo “Transparent” para productos del fabricante Fortinet, “Virtual Wire” para Palo Alto o SCALANCE de SIEMENS.

En la teoría esto es un gran recurso, pero lamentablemente todo tiene un precio, tanto de adquisición como de mantenimiento. Comprar un NGFW y no renovar las licencias de soporte y actualización, poca protección nos va a ofrecer más allá de la capa 4. Aparte, claro está, que cada uno de ellos va a constituir un único punto de fallo, salvo que los despleguemos en HA (Activo-Pasivo; Activo-Activo) donde su coste será mayor.

Por ello resulta necesario que todo cuanto pueda aplicarse desde la electrónica de red, necesaria para el funcionamiento debe aplicarse. Así podrán llevarse a cabo una reducción del grado de exposición y delimitar los tráficos antes de que otro elemento como puede ser un de ser un cortafuegos, pueda llevar un filtrado sobre los paquetes o tramas.

Interfaz de gestión de Switch SIEMENS XC 208

Pero esto no es lo único que deberemos tener presente. Los equipos gestionables al poseer una interfaz para el acceso, bien gráfica o CLI a la que también debe aplicarse medidas de control, des habilitar funcionalidades no utilizadas, emplear protocolos que ofrezcan medidas para garantizar la confidencialidad por ejemplo de credenciales, etc.

Si un usuario no autorizado ganase acceso podría en un momento dado cambiar parámetros que pudieran generar inestabilidad en las comunicaciones, impedir acceso legítimo, creación de nuevos usuarios, entre otras muchas opciones. Por ejemplo, según la siguiente imagen des habilitar la redundancia para una topología en anillo.

Configuración de topología en anillo en switch SIEMENS XC208

Hasta aquí la entrada de hoy. Nos vemos en las siguiente donde trataremos más aspectos de sobre la protección de redes industriales.