ICSSPLOIT, paro de PLCs S7-300 y S7-400

Hola de nuevo. Siguiendo en la línea de herramientas orientadas a redes industriales, hoy le toca turno a ICSSPLOIT.

ICSSPLOIT es un framework dirigido a sistemas y protocolos de control industrial que puede sernos de utilidad en tareas como auditorías y labores de pentesting. Escrito en Python, presenta un aspecto similar al Metasploit, conservando la interfaz y la forma de interacción. Se trata de un software Open Source pudiéndolo descargar desde su sitio en Github. Allí podremos ver el conjunto de scanners, exploits, protocolos y clientes que soporta, y que esperemos vaya creciendo con el tiempo. Veamos un resumen.

La herramienta viene preparada para Kali Linux incluyendo lo necesario para su funcionamiento. Sin embargo, si algo nos faltase, podríamos mirar su fichero “requirements” y llevar a cabo la instalación de los paquetes mediante:

pip install -r requirements

Así pues qué mejor manera que verla en acción con un ejemplo. En otras entradas he trabajado con simuladores pero en esta ocasión lo haré con un PLC Siemens S7-300 real. Por supuesto, en un entorno de laboratorio. Por si fuera poco, además lo haré en formato vídeo. Una novedad que he querido introducir gracias al creciente número de visitas que ha ido teniendo el blog. Así pues, a continuación, veremos cómo llevar a “STOP” tanto la CPU como el una tarjeta CP del autómata para luego revertir el proceso. Todo de forma remota. Ahí va!

Como decía, también es válido para los S7-400. A continuación muestro la captura con Wireshark sobre los paquetes enviados y recibidos. Comentar que el PLC tiene IP 192.168.0.1 y el PC 192.168.0.100 .

Y su arranque:

Hasta aquí la entrada de hoy. Corta, pero que con el vídeo espero haya sido ilustrativa y hayamos descubierto esta nueva herramienta que sin duda va a ser de mucha utilidad para los profesionales de la seguridad. En sucesivas entradas iremos descubriendo nuevas funcionalidad, poco a poco.

¡Un saludo, nos vemos en la siguiente!

Edorta

Vulnerabilidad en Módulos CP SIEMENS

El pasado viernes 27 de noviembre Siemens ha publicado una advertencia de seguridad sobre sus módulos de comunicaciones para autómatas S7-300 y S7-400.

Al parecer existe una vulnerabilidad de evasión de autenticación en módulos de comunicación de la familia SIMATIC CP 343-1, TIM 3V-IE, TIM 4R-IE, y CP 443-1.; permitiendo a usuarios no autenticados realizar operaciones administrativas bajo ciertas condiciones. Para ello el atacante debería cumplir con los siguientes requisitos :

  • Tener acceso a la red donde se encuentra algún dispositivo afectado.
  • Los datos de configuración pertenecientes al módulo procesador de comunicaciones deben estar almacenados en la CPU.
  • La funcionalidad de cortafuegos para los módulos de comunicación deben estar inactivos en el puerto 102/TCP.

INCIBE ha publicado la siguiente nota informativa:

https://www.incibe.es/securityAdvice/CERT/Alerta_Temprana/avisos_sci/evasion_autenticacion_dispositivos_siemens

Igualmente Siemens ha emitido el siguiente documento al respecto y reservado el identificador CVE-2015-8214 para esta vulnerabilidad.::

https://www.siemens.com/cert/pool/cert/siemens_security_advisory_ssa-763427.pdf

Igualmente se ha reservado

Para corregir el problema para el caso de la CP-343-1 proponen actualizar el firmware a la versión V3.0.44. Para el resto de productos aún no hay una versión disponible con lo que recomiendan:

  • Activar la funcionalidad del cortafuegos en el módulo procesador de comunicaciones Advanced y rechazar las comunicaciones S7 por el puerto afectado.
  • Aplicar el concepto protección en celdas.
  • Utilizar comunicaciones VPN entre celdas para proteger la red.
  • Aplicar defensa en profundidad.

Sobre este último punto os dejo un enlace hacia otras entradas sobre las cuales ya he hablado:

http://enredandoconredes.com/2015/10/20/defensa-en-profundidad-breve-repaso/

http://enredandoconredes.com/2015/10/29/defensa-en-profundidad-ot/

En fin, mucho cuidado…

Un saludo!

Crónica de Curso «Ciberseguridad en IACS»

En esta ocasión la cosa no va a ir de temas técnicos sino más bien, va a ser una crónica de un curso que he realizado recientemente. Ha sido la primera edición, con lo que me parece positivo dar a conocerla para que más gente se anime y se haga eco de los nuevos cursos que están por venir, así más y más profesionales sigamos formándonos en distintas áreas .

El curos en cuestión se ha denominado bajo el nombre “Curso Avanzado de de Ciberseguridad y Sistemas de Control y Automatización Industrial” y ha sido impartido por INCIBE (Instituto Nacional de Ciberseguridad; lo que era antes INTECO”) vía ONLINE.

Llevo 4 años presando servicios como Técnico/Administrador de Redes y Seguridad en una fábrica dedicada al sector de la automoción, y muchas veces me ha tocado que resolver los problemas de conectividad de Robots, Autómatas, Controles de Soldadura, configurar reglas de firewall para sistemas SCADA, etc. Tenía mucho interés por aprender más sobre este tipo de dispositivos y puesto que todos ellos de una manera u otra se “conectan” a la infraestructura de comunicaciones, pues era mi oportunidad.

Dicho esto, a continuación os dejo el enlace del video promocional para que veáis la idea que se persigue y la forma que se imparte:

Enlace

El curso se divide en 7 Unidades, de las cuales haré un breve resumen general ya que no se desea revelar demasiada información sino despertar la curiosidad:

Unidad 0: Bienvenida al curso avanzado de ciberseguridad industrial

Una presentación del curso en general donde se explica el calendario, actividades, normativa, recursos, criterios, manuales, test, etc.

Unidad 1: Introducción a los sistemas de control y automatización

Aquí ya se empieza con la materia en sí. Se abordan temas como historia de la automatización, evolución, problemas de seguridad, particularidades, etc.

Unidad 2: Estudio detallado de los distintos dispositivos de control

Enumeración y descripción de los elementos que intervienen en el proceso de automatización industrial, configuración, parametrización y medidas de seguridad nativas.

Unidad 3: Conceptos fundamentales de las comunicaciones industriales

Propósitos de las comunicaciones, medios físicos, protocolos, tipos de comunicación.

Unidad 4: Sistemas SCADA, historiadores y otros aplicativos

Modelos de implantación, funcionalidades y campo de actuación de los sistemas SCADA, Historización, soluciones BATCH, MES y BII.

Unidad 5: Estudio detallado de amenazas y vulnerabilidades de seguridad 

Amenazas en entornos industriales, vulnerabilidades diseño, desarrollo, operación y mantenimiento; factores de riesgo; incidentes de seguridad. 

Unidad 6: Presentación de iniciativas, buenas prácticas y soluciones

Aproximación a la protección a los sistemas de automatización y control; iniciativas de seguridad a nivel mundial; métodos, modelos, técnicas de seguridad.

Unidad 7: Visita virtual y demostraciones prácticas de seguridad

Introducción a las redes de distribución eléctrica y “Smart Grids”

Evaluación final y encuesta de satisfacción

Examen final de todo el curso y encuesta de satisfacción.

Cada “Unidad” a su vez se subdivide en distintos “Apartados” que abordan de manera específica los temas a tratar. Todas las “Unidades” y “Apartados” cuentan con un documento en formato .pdf, siendo el contenido de estos últimos un resumen del de las respectivas unidades. Adicionalmente cada “Unidad” dispone de un video introductorio. Los “Apartados” también tienen el suyo donde se explica de manera audiovisual su contenido. En algunos casos los documentos y videos tienen contenido muy similar, pero no igual. Es material didáctico complementario y no excluyente. Ojo, a esto!!!

En general cada “Unidad” posee dos ejercicios, uno de investigación y otro práctico. El de investigación se basa en búsqueda, análisis, y desarrollo de información sobre temas propuestos. Los prácticos se basan por ejemplo, en la instalación de software de prueba o libre para realizar distintas actividades como simulación y análisis de cierto tipo de tráfico de comunicaciones industriales.

Aparte la plataforma cuenta con un Blog donde se deberán “subir” los ejercicios prácticos donde los distintos alumnos podrán ver su contenido y votar en consecuencia.

A la hora de evaluar cada, “Unidad” tiene un test final que, para obtener el diploma final, hay que aprobarlo junto con uno  el final. Adicionalmente cada “Apartado” tiene el suyo propio, cuyo objetivo es evaluar los conocimientos. Estos no puntúan, si se suspenden no pasa nada, aunque es muy recomendable hacerlos.

En dos casos, las actividades han de ser plasmadas en documento “Word” o “PDF” para que sean evaluadas por los propios compañeros y calificarlas del 0 al 100 según su propio criterio.

En general, he quedado muy contento con el curso y ha cumplido con mis expectativas. El contenido de los materiales es muy bueno y la inclusión de video ha dinamizado el aprendizaje ya que muchas veces los cursos se basan en documentación escrita que aburre un poco. Con los videos es distintos. Hay que valorar el esfuerzo que supone la edición y maquetación de los mismos.

Otro de los aspectos destacables son los ejercicios, tanto de investigación como prácticos ya que te obliga a trabajar y profundizar en los distintos temas. Esto marca la diferencia con otros cursos que te explican las cosas, te ponen un test y listo. Aquí tienes que “currártelo” más, y eso me parece positivo para el aprendizaje.

Sin embargo no todo ha sido perfecto. Como en todas las cosas que se hacen por primera vez se pueden cometer errores o mejorar ciertas cosas. Por ejemplo, al principio se estimaba que la duración era de 36 horas y luego que no. La organización amplió posteriormente esta cifra a 50. También algunas preguntas de test podían tener a mi juicio (otros alumnos se pronunciaron igual) más de una posible respuesta válida que repercutía en el fallo de la misma. Lo malo es que no se despejaba la duda con lo que te quedas con ella.

Pero bueno, estoy seguro que los responsables tomarán nota de esto último y lo corregirán para futuras ediciones.

En resumen, recomiendo a todo aquel que desee aprender sobre este campo que se apunte y que lo hagan ya que, en mi caso, he aprendido mucho sobre estos sistemas. Ahora queda seguir formándonos, leer, practicar y seguir mejorando.