Laboratorio básico de emulación sistemas ICS Parte 1/3


¡Buenas a todos! Últimamente, estoy bastante metido en el mundo del hacking a ICS, por lo que me he visto en la necesidad de emular ciertos sistemas, dado que probar en un entorno real en producción es bastante peligroso, he decidido crear este pequeño manual con estas herramientas de emulación que mejor me han servido para mi día a día. Hablamos de:

Scada-LTS: https://github.com/SCADA-LTS/Scada-LTS

ModbusPal: https://modbuspal.sourceforge.net/

Este pequeño manual quiero dividirlo en varias secciones, esta sería la primera parte de un total de 3 partes que seguirán el siguiente formato:

  • Parte 1: Instalación de las herramientas del laboratorio.
  • Parte 2: Configuración de las herramientas del laboratorio.
  • Parte 3: Ataque contra los sistemas emulados.

Escenario planteado:

  • SCADA - Scada-LTS (Ubuntu) - 192.168.1.162
  • PLC1 - ModbusPal - 192.168.1.163
  • PLC2 - ModbusPal - 192.168.1.164
  • Attacker - Kali Linux - 192.168.1.156

Todo este laboratorio se ha creado utilizando Proxmox, cada una de las máquinas es una VM distinta.

Tras esta presentación vamos a comenzar explicando cómo realizar la instalación de estas herramientas en un entorno ubuntu:

ModbusPal en la máquina PLC1 y PLC2

Descargamos el ejecutable desde el navegador de ubuntu en la web del autor:

https://modbuspal.sourceforge.net/

Instalamos Java en Ubuntu, con el comando sudo apt install default-jre

Nos vamos a descargas que es donde se me ha descargado y ejecutamos java -jar ModbusPal.jar

Este proceso lo repetiríamos para la máquina PLC2 o bien clonamos la máquina virtual en el Proxmox.

Scada-LTS En la máquina Scada-LTS (Ubuntu)

Para continuar con la instalación debemos instalar docker-compose:

Esperamos que finalice y nos metemos en el directorio Scada-LTS, y ejecutamos el comando siguiente, esto arrancara todos los containers de una sola vez:

docker-compose up

Esto se demorará un tiempo.

Otros comandos que podemos usar son los siguientes:

Una vez arrancado todo, para acceder, tendremos que irnos a un navegador a la siguiente dirección:

http://<ip local de la VM>:8080/Scada-LTS/app.shtm y con user/pass admin:admin podremos hacer login para comprobar que todo está correcto:

Nota: esta es la interfaz nueva de la última versión, puede variar en función de la versión que hayáis instalado, pero las utilidades son las mismas.

Nota2: a la hora de arrancar el servicio de MQTT os puede mostrar el siguiente error:

Esto se soluciona añadiendo más memoria RAM a la VM.

Ya estaría todo finalizado. El esquema quedaría de la siguiente manera:

El esquema que vamos a seguir es el siguiente:

Y esto es todo sobre este primer capítulo de instalación y configuración del entorno, en los siguientes podréis ver la configuración de los servicios para que el PLC envíe datos al SCADA y en el último capítulo veréis algunos ataques simples a este tipo de elementos.

Espero que os haya gustado.

Happy hacking!!

Contribución gracias a Carlos Antonini

Serie Laboratorio básico de emulación sistemas ICS: Parte 1, Parte 2 y Parte 3

Comentarios