Utilizando MBTGET

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: https://wa.link/ej3kiu. 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

Luego del ARP Spoofing , logramos interceptar este trafico:

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:

Última actualización