meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previa | |||
| electronica:modbus [022016/01/ 10:10] – lc | electronica:modbus [182023/01/ 13:10] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| + | {{tag> modbus}} | ||
| + | ===== Modbus ===== | ||
| + | ==== Configuración ==== | ||
| + | === Esclavo === | ||
| + | Máquina virtualbox ejecutando ubuntu 192.168.2.100. Descargamos el esclavo http:// | ||
| + | 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:// | ||
| + | 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 === | ||
| + | * Cada dispositivo de la red Modbus debe tener una dirección única. | ||
| + | * Cualquier dispositivo puede enviar órdenes Modbus, aunque lo habitual es permitirlo sólo a un dispositivo maestro. | ||
| + | * Cada comando Modbus contiene la dirección del dispositivo destinatario de la orden. | ||
| + | * Todos los dispositivos reciben la trama pero sólo el destinatario la ejecuta (salvo un modo especial denominado " | ||
| + | * Cada uno de los mensajes incluye información redundante que asegura su integridad en la recepción. | ||
| + | * Según el estándar Modbus y dada su implementación, | ||
| + | * No soporta File Transfer. | ||
| + | |||
| + | ==== 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 ':' | ||
| + | |||
| + | 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 ==== | ||
| + | |||
| + | * No posee indicadores de hora y día en su trama. | ||
| + | * No incluye mecanismos de autentificación entre el maestro y los clientes | ||
| + | * Lee los valores de los rangos de entradas o salidas por la emisión de una única solicitud. | ||
| + | * Todos los datos son tratados como valor actual, por tanto, sin un dato no es leído, se pierde. | ||
| + | * Las operaciones de control que soporta son a través de la lectura/ | ||
| + | * Posibilidad de hacer fingerprinting a través de su puerto estándar TCP 502. Mediante la función 43 del protocolo puede averiguarse el registro de identificación de PLCs y conseguir información como: tipo de dispositivo, | ||
| + | |||
| + | |||
| + | Además de lo anterior hay documentadas varias vulnerabilidades | ||
| + | http:// | ||
| + | |||
| + | * An unauthenticated, | ||
| + | * An unauthenticated, | ||
| + | * The protocol specification does not include an authentication mechanism for validating communication between MODBUS master and slave devices. | ||
| + | |||
| + | |||
| + | ==== Referencias ==== | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||