r32vdub / modbussim

Simple modbus-based PLC simulation + exploit.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

modbussim

modbussim is a simple modbus-based PLC simulation. It was developed to explore the basics of exploiting the modbus protocol for purposes of data gathering and/or modifying the behavior of industrial systems.

This project was developed for educational purposes: CS544 Cybersecurity, University of New Mexico, Spring 2016.

Authors: Whit Schonbein (schonbein [at] cs.unm.edu) and Evan Dye (etdye [at] cs.unm.edu). A writeup of the attacks we explored using modbussim can be found here.

Components

modbussim: the simulation. compliation requires the libmodbus library at libmodbus.org. Compilation with the optional annoying-sine-wave-indicating-imminent-explosion thread requires the alsa sound libraries. The modbussim directory also contains some tools for writing to and reading from the simulation, as well as determining how many registers an instance of the simulation provides.

modbuster: tool for exploiting the simulaton for purposes of wreaking havoc. modbuster determines the relevant port and register for causing the simulation to go into an 'explode' state, and then puts it there.

scripts: scripts (bro, python) we used to process and plot captured modbus over tcp packets.

About

Simple modbus-based PLC simulation + exploit.


Languages

Language:C 89.0%Language:Python 4.6%Language:Bro 4.0%Language:Makefile 2.2%Language:Shell 0.2%