module
Modbus Unit ID and Station ID Enumerator
Disclosed | Created |
---|---|
10/28/2012 | 05/30/2018 |
Disclosed
10/28/2012
Created
05/30/2018
Description
Modbus is a cleartext protocol used in common SCADA systems, developed
originally as a serial-line (RS232) async protocol, and later transformed
to IP, which is called ModbusTCP. default tcp port is 502.
This module sends a command (0x04, read input register) to the modbus endpoint.
If this command is sent to the correct unit-id, it returns with the same function-id.
if not, it should be added 0x80, so that it sys 0x84, and an exception-code follows
which do not interest us. This does not always happen, but at least the first 4
bytes in the return-packet should be exact the same as what was sent.
You can change port, ip and the scan-range for unit-id. There is also added a
value - BENICE - to make the scanner sleep a second or more between probes. We
have seen installations where scanning too many too fast works like a DoS.
originally as a serial-line (RS232) async protocol, and later transformed
to IP, which is called ModbusTCP. default tcp port is 502.
This module sends a command (0x04, read input register) to the modbus endpoint.
If this command is sent to the correct unit-id, it returns with the same function-id.
if not, it should be added 0x80, so that it sys 0x84, and an exception-code follows
which do not interest us. This does not always happen, but at least the first 4
bytes in the return-packet should be exact the same as what was sent.
You can change port, ip and the scan-range for unit-id. There is also added a
value - BENICE - to make the scanner sleep a second or more between probes. We
have seen installations where scanning too many too fast works like a DoS.
Author
EsMnemon
References
Module Options
To display the available options, load the module within the Metasploit console and run the commands ‘show options’ or ‘show advanced’:
msf > use auxiliary/scanner/scada/modbus_findunitid msf /(d) > show actions ...actions... msf /(d) > set ACTION < action-name > msf /(d) > show options ...show and set options... msf /(d) > run

NEW
Explore Exposure Command
Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.