👿
Hacking en SCADA - [CPICS]
Comprar cursoYouTubeTwitterLinkedIn
  • La Biblia del Hacking en ICS/SCADA
    • Advertencia
    • Conoce a tu academia
    • Conoce a tu instructor #1
    • Conoce a tu instructor #2
  • Fundamentos de SCADA
    • Introducción a SCADA
      • Unidades Terminales Remotas (RTU)
      • Interfaz Hombre-Máquina (HMI)
      • Comunicaciones de Red
      • Controladores Lógicos Programables (PLC)
    • IT vs OT
    • La importancia de conocer pentesting en IT para una auditoria en SCADA
    • Aplicaciones Típicas de SCADA en Diferentes Industrias
      • Industria de la Energía
      • Gestión de Agua y Aguas Residuales
      • Industria Manufacturera
      • Transporte
      • Petróleo y Gas
    • Arquitectura de Sistemas SCADA
      • Características de Diseño
      • Tecnologías Emergentes
    • Redes y Comunicaciones en SCADA
    • Diferencias entre SCADA, DCS y otros sistemas de control industrial
    • Protocolos comunes
      • Modbus
      • DNP3 (Distributed Network Protocol)
      • OPC (OLE for Process Control)
      • IEC 60870-5-104
    • Hardware Específico en SCADA
    • Software de Gestión y Monitorización en SCADA
    • Ciberseguridad en el Modelo de Purdue
  • Aspectos Legales y Éticos del Pentesting en SCADA
    • Normativas y estándares de cumplimiento en SCADA
    • ICS Cyber Kill Chain
    • MITRE en ICS
  • Vulnerabilidades en Sistemas SCADA
    • Tipos comunes de vulnerabilidades
      • Vulnerabilidades de Software y Firmware
      • Problemas de Configuración y Seguridad de Red
      • Falta de Autenticación y Control de Acceso
      • Vulnerabilidades de Comunicaciones
      • Ataques Físicos y de Ingeniería Social
      • Falta de Conciencia y Formación en Seguridad
    • Análisis de casos históricos de brechas de seguridad
      • Stuxnet (2010)
    • ERP como Vectores de ataque inicial
    • Herramientas automatizadas
  • Herramientas y técnicas
    • OSINT en SCADA
      • Utilizando Shodan para SCADA
    • Logins vulnerables a fuerza bruta
      • Hydra una gran herramienta
    • Profundizando en Modbus
      • Historia y evolucion de Modbus
      • Man-In-The-Middle
      • Modbus TLS posibles vulnerabilidades
    • Instalacion de ControlThings
    • Uso de Nmap en SCADA
    • Puertos comunes en ICS/SCADA Devices
    • Utilizando Nmap
      • DNS en SCADA
      • Enumeracion con s7-enumerate.nse
    • Enumeracion con plcscan
    • ARP-SCAN en SCADA
    • ARP Spoofing
      • Wireshark en SCADA
    • Introducción al Uso de Metasploit en SCADA
      • Auxiliary Module modbusdetect
      • Auxiliary Module modbus_findunitid
    • Uso de protocolos inseguros en SCADA
      • Uso de protocolos inseguros
    • Credenciales por defecto
      • ScadaBR - Default Credentials
    • Credenciales debiles o suceptibles a fuerza bruta
    • Python en SCADA
    • Inyeccion Maliciosa de comandos Modbus
      • Utilizando MBTGET
      • Utilizando Metasploit
        • Auxiliary Module modbus_client
      • Utilizando Python
    • Simulacion de StuxNet
      • OpenPLC Server: Subida de Archivo Malicioso .st para Controlar Parámetros de Planta
  • Buffer Overflow
    • Buffer Overflow en SCADA
    • Teoria del Buffer Overflow
      • Buffer Overflow en Windows
      • Buffer Overflow en Linux
    • Tipos de Protecciones contra Buffer Overflow
    • Explotacion del Buffer Overflow
      • Spiking
      • Fuzzing
      • Finding the Offset
      • Overwriting The EIP
      • Finding the Bad Charaters
      • Finding The Right Module
      • Generating Shellcode and Gaining Shell
  • Muchas Gracias
    • 🛡️ ¡Muchísimas Gracias por Participar! 🛡️
    • Importante
Con tecnología de GitBook
En esta página
  • Funcionalidades de MBTGET
  • Ejemplo de Uso de MBTGET
  • Aplicaciones de MBTGET
  • Proceso de instalacion en Kali Linux
  • Explicación Detallada
  • Explicación Detallada

¿Te fue útil?

  1. Herramientas y técnicas
  2. Inyeccion Maliciosa de comandos Modbus

Utilizando MBTGET

AnteriorInyeccion Maliciosa de comandos ModbusSiguienteUtilizando Metasploit

Última actualización hace 9 meses

¿Te fue útil?

Este libro se ofrece de manera gratuita como parte de nuestro compromiso con la educación en ciberseguridad. Si encuentras este recurso útil, te invitamos a compartirlo con colegas y amigos interesados en el campo. Agradecemos tu apoyo y, como muestra de gratitud, te animamos a explorar nuestros cursos. Para más información o para adquirir alguno de nuestros cursos especializados, por favor, comunícate con nuestro canal de ventas: . Tu participación nos ayuda a seguir creando y compartiendo conocimientos valiosos con la comunidad.

MBTGET es una herramienta de línea de comandos diseñada para interactuar con dispositivos que utilizan el protocolo Modbus. Modbus es un protocolo de comunicación utilizado principalmente en sistemas SCADA (Supervisory Control and Data Acquisition) y otros entornos industriales para la transmisión de datos entre dispositivos, como controladores lógicos programables (PLCs), sensores y sistemas de control.

Funcionalidades de MBTGET

MBTGET permite a los usuarios leer y escribir datos en dispositivos Modbus, facilitando tanto la administración como las pruebas de seguridad en estos sistemas. A continuación, se detallan algunas de las principales funcionalidades de esta herramienta:

  1. Lectura de Registros: MBTGET puede leer diferentes tipos de registros Modbus, incluyendo:

    • Registros de Coils: Representan estados binarios (encendido/apagado).

    • Registros de Entrada: Contienen datos de entrada digital.

    • Registros de Holding: Utilizados para almacenar datos configurables.

    • Registros de Entrada Analógica: Contienen datos de sensores analógicos.

  2. Escritura en Registros: La herramienta también permite escribir datos en registros Modbus, lo cual es útil para configurar dispositivos o probar respuestas a ciertos comandos.

  3. Soporte para Modbus TCP/RTU: MBTGET es compatible con ambos modos de operación de Modbus:

    • Modbus TCP: Utiliza la comunicación TCP/IP para interactuar con dispositivos Modbus a través de redes Ethernet.

    • Modbus RTU: Utiliza la comunicación serial para interactuar con dispositivos Modbus a través de conexiones seriales.

  4. Flexibilidad en Configuraciones: Permite especificar múltiples parámetros de configuración, como la dirección IP del dispositivo, el puerto de comunicación, la unidad de destino y los intervalos de registro.

Ejemplo de Uso de MBTGET

A continuación se presenta un ejemplo básico de cómo utilizar MBTGET para leer un registro de un dispositivo Modbus:

  1. Lectura de un Registro de Holding:

    mbtget -m tcp -a 192.168.1.100 -p 502 -u 1 -f 3 -r 0 -c 1

    En este comando:

    • -m tcp especifica el modo Modbus TCP.

    • -a 192.168.1.100 es la dirección IP del dispositivo Modbus.

    • -p 502 es el puerto TCP utilizado (502 es el puerto estándar para Modbus TCP).

    • -u 1 es la unidad de destino (unidad 1).

    • -f 3 especifica la función de lectura de registros de holding.

    • -r 0 es el registro de inicio (registro 0).

    • -c 1 especifica la cantidad de registros a leer (1 registro).

  2. Escritura en un Registro de Holding:

    mbtget -m tcp -a 192.168.1.100 -p 502 -u 1 -f 6 -r 0 -d 12345

    En este comando:

    • -f 6 especifica la función de escritura en un solo registro de holding.

    • -d 12345 es el valor de datos a escribir en el registro.

Aplicaciones de MBTGET

MBTGET es una herramienta versátil que puede ser utilizada en varias aplicaciones, incluyendo:

  1. Pruebas y Diagnóstico: Los ingenieros y técnicos pueden utilizar MBTGET para probar y diagnosticar dispositivos Modbus, asegurándose de que funcionen correctamente y verificando la integridad de los datos.

  2. Configuración de Dispositivos: Permite configurar dispositivos Modbus mediante la lectura y escritura de registros, facilitando la gestión de sistemas industriales.

  3. Pruebas de Seguridad: Los profesionales de seguridad pueden utilizar MBTGET para realizar pruebas de penetración y evaluar la seguridad de los dispositivos Modbus en una red, identificando posibles vulnerabilidades.

  4. Automatización de Tareas: La capacidad de MBTGET para ser ejecutada desde scripts permite la automatización de tareas rutinarias en la administración de dispositivos Modbus.

Proceso de instalacion en Kali Linux

Teniendo en cuenta nuestra enumeracion ejecutamos el siguiente comando:

Este comando de MBTGET permite leer un registro de entrada específico de un dispositivo Modbus utilizando Modbus TCP. Y retornara un valor igual al capturado en WireShark:

Explicación Detallada

  1. mbtget: Este es el ejecutable de la herramienta MBTGET, utilizado para interactuar con dispositivos Modbus.

  2. -r1: La opción -r seguida de un número indica el tipo de registro que se está leyendo. En este caso, 1 corresponde a los "Input Registers" (registros de entrada). Los registros de entrada son usados para almacenar datos de entrada de dispositivos, como sensores.

  3. -a 40: La opción -a especifica el número de registro que se va a leer. Aquí, el registro es el número 40. Esto significa que MBTGET leerá el valor almacenado en el registro de entrada número 40 del dispositivo Modbus.

  4. -p 502: La opción -p indica el puerto de comunicación. El puerto 502 es el puerto predeterminado para Modbus TCP. Este puerto se utiliza para establecer la conexión con el dispositivo Modbus.

  5. 192.168.95.2: Esta es la dirección IP del dispositivo Modbus al que se está accediendo. MBTGET enviará la solicitud de lectura del registro de entrada número 40 a este dispositivo.

En la evidencia previa, se puede apreciar que la planta se encuentra estable ya que no hemos realizado ninguna operacion maliciosa solo realizamos algo de lectura:

Ahora vamos a ejecutar el siguiente comando:

Explicación Detallada

  1. mbtget: Este es el ejecutable de la herramienta MBTGET, utilizado para interactuar con dispositivos Modbus.

  2. -w5 1: La opción -w seguida de un número indica que se va a escribir en un registro de holding (Holding Register). El número 5 especifica la función Modbus que se utilizará para la escritura, en este caso, la función 5 es usada para escribir en un registro de holding. El valor 1 es el dato que se va a escribir en el registro.

  3. -a 40: La opción -a especifica el número del registro de holding donde se va a escribir. Aquí, el registro es el número 40. Esto significa que MBTGET escribirá el valor 1 en el registro de holding número 40 del dispositivo Modbus.

  4. -p 502: La opción -p indica el puerto de comunicación. El puerto 502 es el puerto predeterminado para Modbus TCP. Este puerto se utiliza para establecer la conexión con el dispositivo Modbus.

  5. 192.168.95.2: Esta es la dirección IP del dispositivo Modbus al que se está accediendo. MBTGET enviará la solicitud de escritura al registro de holding número 40 en este dispositivo.

Luego de lo anterior, se podra apreciar que la planta se desestabiliza.

Para estabilizar podemos utilizar este comando:

Luego del , logramos interceptar este trafico:

https://wa.link/ej3kiu
ARP Spoofing