Tabla de Contenidos

Modbus

Configuración

Esclavo

Máquina virtualbox ejecutando ubuntu 192.168.2.100. Descargamos el esclavo http://www.modbusdriver.com/downloads/diagslave.2.12.zip . descomprimimos y le damos permisos de ejecución Lanzamos con sudo para poder abrir puertos por debajo del 1024 en ubuntu sudo ./diagslave

Maestro

Máquina maestro con ubuntu 192.168.2.200 . Descargamos el maestro http://www.focus-sw.com/assets/files/products/fieldtalk/modpoll/modpoll.3.4.zip Descomprimimos y le damos permisos de ejecución Lanzamos con sudo para poder abrir puerto por debajo del 1024 sudo ./modpoll -m tcp 192.168.2.100 Arrancamos también el wireshark y ponemos el filtro modbus

Características del protocolo Modbus

Funcionamiento

Las comunicaciones MODBUS se pueden realizar en modo ASCII o en modo RTU. En modo ASCII los bytes se envían codificados en ASCII, es decir, que por cada byte a transmitir se envian dos caracteres ASCII ( 2 bytes ) con su representación hexadecimal. En modo RTU se envían en binario, tal cual. En el modo ASCII las tramas comienzan por 3AH (carácter ':'), y terminan en 0DH-0AH (CR LF Carrier Return Line Feed) y cada byte se envía como dos caracteres ASCII. En modo RTU no se utiliza indicador de inicio y final de trama.

Como se puede ver en las capturas, la secuencia básica en las comunicaciones MODBUS consiste siempre en una trama de pregunta, seguida de su correspondiente trama de respuesta

Vulnerabilidades

Además de lo anterior hay documentadas varias vulnerabilidades http://tools.cisco.com/security/center/viewAlert.x?alertId=23280

Referencias