ADVANCED ICS HACKING  

Abstract:

Los sistemas de control industrial (ICS) suelen ser un blanco atractivo para los ciberdelincuentes.

La mayoría de estos sistemas supervisan procesos industriales complejos e infraestructuras críticas  que suministran energía, agua, transporte, manufactura y otros servicios esenciales.

Existen muchas vulnerabilidades en estos sistemas que podrían exponer una instalación a ataques.

Un ataque en una red de ICS podría dar lugar a interrupciones masivas, cientos de miles de  usuarios afectados e incluso a un desastre nacional. El pentesting en los sistemas de control  industrial es un campo muy específico que requiere un vasto conocimiento y disponibilidad de  hardware.

Este training lo ayudará a entender los sistemas ICS, analizar sus debilidades, aprender a atacarlos  y diseñar estrategias para protegerlos. Está dirigido a los profesionales de seguridad que quieran  profundizar su conocimiento sobre la seguridad de los sistemas de control industrial, mejorar sus

habilidades de pentesting sobre los mismos o especializarse en la protección de sistemas de  control industrial, y lo llevará desde los fundamentos de la seguridad de ICS hasta técnicas  avanzadas de hacking.

Nos centraremos en la metodología y herramientas necesarias para realizar pentesting de  dispositivos de control industrial y proporcionaremos una excelente oportunidad para que los  participantes adquieran experiencia práctica en el pentesting de estos dispositivos y sistemas, ya  que la mayor parte del training está conformada por laboratorios prácticos y ejercicios. La

configuración del ICS simulará la infraestructura de un sistema de control industrial con PLCs en  tiempo real y aplicaciones SCADA. Analizaremos los protocolos ICS más utilizados (Modbus, S7,  DNP3, OPC, Profinet), realizaremos capturas de paquetes y aprenderemos a utilizar estos  protocolos para comunicarnos con los PLCs y también para atacarlos.  Aprenderemos a programar un PLC en Ladder Logic, para entender mejor cómo comprometer este  tipo de dispositivos. Aprenderemos a atacar sistemas air-gapped y también a defender este tipo  de sistemas. También aprenderemos las técnicas y tácticas que los adversarios utilizan para  comprometer los ICS, las debilidades que normalmente poseen este tipo de sistemas y las técnicas  que podemos utilizar para protegerlos. Finalmente terminaremos con un caso de estudio en el  cual aplicaremos todos los conocimientos obtenidos.

A lo largo del training, utilizaremos una máquina virtual creada por nosotros específicamente para  el pentesting de ICS, tiene todas las herramientas necesarias para este propósito. El training está  estructurado para asistentes de nivel principiante e intermedio y no es necesario tener experiencia

previa en ICS, programación o hardware.

Course Outline


Dia 1: Overview de ICS, Protocolos & Hacking

Fundamentos de ICS

1.1 Introducción a ICS

1.2 Vocabulario

1.3 El modelo CIM

1.4 Arquitecturas clásicas

1.5 Historia de los sistemas industriales

1.6 ISA99/IEC62443, NIST 800-82

1.7 IT vs OT

1.8 Sistemas ICS expuestos en Internet

Componentes de sistemas ICS

2.1 Arquitectura, componentes y roles

2.1.a. RTU

2.1.b. HMI

2.1.c. DCS

2.1.d. Sensores

2.1.e. PLC

2.1.f. SCADA

2.1.g. Historian

Programando PLCs

3.1 Cableado de PLCs

3.1.1 PLC Inputs

3.1.2 PLC Outputs

3.2 Lenguajes de Programacion para PLCs

3.3 Como se ejecutan los programas en los PLCs

3.4 Programación de PLCs en Ladder Logic

3.4.1 Fundamentos y Principios de Ladder Logic

3.4.2 Simuladores de PLCs para practicar programación

3.5 Ejercicios prácticos de programación de PLCs

Protocolos de ICS

4.1 Modbus

4.1.a. Introducción y resumen del protocolo

4.1.b. Ataques y ejercicios prácticos

4.1.c. Sniffing, Eavesdropping

4.1.d. Baseline Response Replay

4.1.e. Modbus Flooding

4.1.f. Modifying PLC values

4.1.g. Rogue Interloper

4.2 S7

4.2.a. Introducción y resumen del protocolo

4.2.b. Ataques y ejercicios prácticos

4.2.c. Sniffing, Eavesdropping

4.2.d. Uploading and downloading PLC programs

4.2.e. Start and Stop PLC CPU


4.3 DNP3

4.3.a. Introducción y resumen del protocolo

4.3.b. Ataques y ejercicios prácticos

4.3.c. Length Overflow Attack

4.3.d. Reset Function Attack

4.3.e. Rogue Interloper

4.4 Profinet

4.4.a. Introducción y resumen del protocolo

4.4.b. Ataques y ejercicios prácticos

4.4.c. Sniffing, Eavesdropping

4.4.d. Replay Attacks

4.4.e. Packet Forging Attacks

4.5 OPC/OPC-UA

4.5.a. Introducción y resumen del protocolo

4.5.b. Ataques a OPC y ejercicios prácticos

Dia 2: Airgap, Pentesting & Attacks

Comprometiendo Sistemas ICS “Air-gapped”

5.1 Que es un Airgap?

5.2 Problemas de los Airgaps

5.3 Realmente hay un Airgap?

5.4 Airgap, Firewall o Data Diode?

5.5 Ataques a Airgaps y Ejemplos

5.6 Canales de Entrada / Salida de información

5.6.1 Canales Termales

5.6.2 Canales Electromagneticos

5.6.3 Canales Acusticos

5.6.4 Canales Opticos

5.6.5 Canales Electricos

5.6.6 Canales Magnéticos

5.7 Protegiendo Sistemas ICS “Air-gapped”

Vulnerabilidades Comunes en Sistemas ICS

6.1 Debilidades en la segmentación de red

6.2 Exposición a internet o redes inseguras

6.3 Uso de Protocolos Inseguros

6.4 Uso de software antiguo y falta de mantenimiento

6.5 Credenciales por defecto y configuraciones inseguras

6.6 Falta de concientización en seguridad

6.7 Politicas débiles para el uso de USB y dispositivos personales

6.8 Otras vulnerabilidades

Análisis de Ataques Reales a Sistemas ICS

7.1 Alertas de ISC-CERT

7.2 ATT&CK for ICS

7.2.1 Técnicas y tácticas de adversarios

7.2.2 Ataques e incidentes relacionados a ICS

Pentesting de sistemas ICS

8.1 Pentesting ICS 101

8.2 Precauciones y Advertencias

8.2.1 Incidentes Reales durante Pentesting de ICS

8.2.2 Mejores prácticas para el Pentesting de ICS

8.3 Herramientas para el Pentesting ICS

8.4 Teoría y Metodología para el Pentesting de ICS

8.4.1 Architecture Review

8.4.2 Information gathering

8.4.3 Vulnerability Scanning

8.4.4 Exploitation

8.4.5 Protocols Testing

Ejercicios Prácticos de Pentesting ICS

9.1 PLC Scanning and Information Gathering

9.2 Network capture analysis & replaying packets

9.3 Attacking ICS protocols

9.4 Fuzzing ICS protocols

9.5 Attacking PLC standard interfaces and features

9.6 Attacking HMI

9.7 Attacking Windows ICS components

Protegiendo Sistemas ICS

10.1 Politica de seguridad de ICS

10.2 Análisis de riesgo para ICS

10.3 Security Awareness and Training Program para ICS

10.4 Segmentación de red

10.4.1 Evaluar y limitar las conexiones con redes inseguras

10.5 Políticas y restricciones en el uso de USB y dispositivos personales

10.6 Hardening de sistemas ICS

10.7 Aplicar el principio de ‘defense in depth’ para proteger dispositivos ICS

10.8 Monitoreo y supervisión de sistemas ICS

Caso de Estudio de ICS

11.1 Caso de estudio para aplicar los conocimientos adquiridos durante el training

Los estudiantes obtendrán:

 Profundo conocimiento de los componentes y protocolos de ICS

 Experiencia práctica en pentesting de componentes y protocolos clave de sistemas

industriales

 Estrategias y métodos para para proteger sistemas industriales


Lecture vs hands-on:


El tiempo se distribuirá en un 40% de teoría contra un 60% de práctica. El enfoque del curso estará  mayormente dedicado a los laboratorios prácticos. Las lecciones teóricas se usarán para explicar  los conceptos necesarios para los ejercicios prácticos.

Ejercicios Prácticos:

 Programación de PLCs: 30 minutos.

 Modbus: ~ 30 minutos.

 DNP3: ~ 30 minutos.

 S7: ~ 30 minutos.

 OPC: ~ 30 minutos.

 Profinet: ~ 30 minutos.

 PLC Scanning: ~ 30 minutos.

 Network Capture and Replay: ~ 30 minutos.

 Attacking ICS Protocols: ~ 1 hora.

 Fuzzing ICS Protocols: ~ 1 hora.

 Attacking PLC: ~ 1 hora.

 Attacking HMI: ~ 1 hora.

 Attacking Windows ICS Components: ~ 30 minutos.

 Caso de estudio de sistemas ICS: ~ 1 hora.


Requerimientos para los estudiantes:

 Conocimientos básicos de Linux

 Conocimientos básicos de Redes y Pentesting


Que deben traer los estudiantes:

 Notebook con al menos 40GB de espacio libre

 8 GB minimo de RAM

 Software de Virtualización VMWare

Que les proveeremos a los estudiantes:

 Presentaciones, lecturas y materiales adicionales del training

 Maquina virtual con ambiente de test, herramientas necesarias y ejercicios planteados en  clase

 1 mes de soporte de los capacitadores para resolver los ejercicios del training




Español

2 días

22nd, 23rd  September

ONLINE

Costo

Up to 31/08

USD 1250


Instructor

  




Yamila Vanesa Levalle is an Information Systems Engineer, Security Researcher and Offensive

Security Professional with more than 15 years of experience in the InfoSec field with expertise on

ICS systems security.

Yamila currently works as Security Researcher and Consultant in Dreamlab Technologies, where she

conducts researches, publishes investigations regarding several information security topics and

spread her skills giving trainings. She is an international security conferences speaker and has

presented her researches at important events, such as BlackHat Arsenal Las Vegas, PHDays Moscow,  Northsec Montreal, AusCERT Australia, OWASP Latam Tour, and others.