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!

Information Gathering, NMAP NSE

Anuncios

La recolección de información es una de las fases iniciales de cualquier auditoría de seguridad para determinar no sólo el grado de exposición de nuestros equipo, redes y sistemas sino también sus vulnerabilidades.

Hace unos años hablaba del uso de la conocida herramienta NMAP y su funcionalidad NSE las cuales podéis encontrar en las entradas siguientes.

  1. NMAP sobre SCI sí, pero con cuidado.
  2. NMAP Scripting Enngine
  3. NMAP Scripting Engine para ICS

Tradicionalmente se ha aplicado sobre sistemas operativos de propósito general o adaptados a requisitos de Tiempo Real, sobre los cuales se ejecuta distinto tipo de software bien para interactuar sobre los procesos controlados por PLCs, pantallas de visualización, puestos de operador, entre otros.

Sin embargo, esta fase de recolección de información debe llevarse a cabo también sobre equipos de nivel 1 del Modelo Purdue, esto es PLCs, PAC, o controladores de distinta índole.

NMAP permite mediante NSE descubrir información relativa a ellos. A continuación, se citan algunos ejemplos sobre los productos de algunos fabricantes y protocolos:

OMRON

Ethernet/IP

En estos casos además podemos obtener la dirección IP de la red local siendo 192.168.XXX.XXX y 10.XXX.XXX.XXX

BACNET

S7

Estos son algunos ejemplos, pero podría haber más a partir de los scripts que podemos encontrar en la herramienta. Lo importante aquí es que no debemos fijar, solo, nuestra atención a los equipos basados en PC. Debemos tener presente los componentes y sistemas de control con lógica programable que, pudiendo estar expuestos en las redes de planta, presentan vulnerabilidades o fallos de diseño que puedan comprometer las operaciones.

Nos vemos en la próxima!

KICS for Nodes, Parte V

Anuncios

Poniendo un ejemplo práctico, en el equipo donde hemos realizado el inventario tenemos un ejecutable de “Anydesk”, aparte de SIEMENS TIA Portal v13, Schneider Electric. Este software es común emplearlo para posibles asistencias remotas tal y como sucede con otros como Teamviewer.

En este caso, hemos denegado explícitamente su ejecución por lo que una vez aplicada la política en modo “Active”, podremos ver cómo no podremos utilizarla.

Si en ese entonces queremos utilizar «Anydesk» el comportamiento en el equipo final sería el siguiente. No se ejecuta sino que además nos indica un mensaje.

Y se generaría un registro en la consola de KSC.

En cambio, si lo hubiéramos en configurado el modo de operación en “Statistics Only” sí que podríamos pero hubiéramos generado un log al respecto.

Pero en el supuesto que alguien quisiera instalar nuevo software como por ejemplo Mitsubishi GX Works3, KICS for Nodes tampoco permitiría hacerlo, generándose el siguiente mensaje y registro en la consola de KSC, Kaspersky Security Center.

No obstante, sobre aquellos logs generados la herramienta nos da la posibilidad de poderlo incorporar a la “Whitelist”, exportando el contenido del mismo en un fichero de texto, .txt.

Esto es especialmente útil si lo que queremos es crear desde cero una política, es decir, sin crear el inventario del que hablábamos en «KICS for Nodes IV».

En ese caso podremos identificar dónde se almacena la aplicación y denegarlo expresamente. Sin embargo, esto puede no ser efectivo. En este caso «AnyDesk» está ubicado en el escritorio pero si copio en otra carpeta como «Mis Documentos» podría ejecutarlo ya que la ruta es diferente.

Para ello deberemos ir a la configuración de reglas y seleccionar importar un fichero a partir de los logs.

Y seleccionar el fichero que previamente hemos exportados desde KSC, Kaspersky Security Center.

Sin embargo el criterio ahora no es tanto la ruta sino la información contenida en el certificado con el que se ha firmado el software.

Por lo que independientemente  de dónde esté el ejecutable de «Anydesk» éste no se podrá ejecutar.

Así pues, esta es la forma en la que trabaja una solución de protección de PCs industriales basado en estrategia de Whitelisting. El concepto es sencillo, listo lo que tengo en PC y luego permito aquello que considero necesario. Además algunas soluciones permiten complementar esta funcionalidad con otras. como antivirus, Firewall, etc. En el caso de KICS for Nodes podéis encontrar la descripción aqui. Esto dependerá del producto elegido.

Cabe mencionar que cuanto más granularidad o a más bajo nivel queramos llegar, más labor de gestión deberemos llevar a cabo. Hay que buscar un equilibrio…

Espero que os haya sido de utilidad, nos vemos en la siguiente!

Un saludo!