ICSGoat is a vulnerable by design ICS infrastructure.ICSGoat mimics real-world infrastructure but with added vulnerabilities. It features simulations of multiple popularly used ICS protocols. ICSGoat is focused on a black box approach and will help understand the possible threats to critical ICS Infrastructure.
ICSGoat uses docker compose to deploy the infrastructure on your local system. This gives the user complete control and customizability over the code and infrastructure setup. Currently ICSGoat features the following protocols:
- MODBUS
- DNP3
- OPCUA
- MQTT
Presented at
Developed with ❤️ by INE
- Python 3
- Docker
- A Linux / Windows Machine
- Docker Compose
Installing ICSGoat would require you to follow these steps:
Step 1. Clone the repo
git clone https://github.com/ine-labs/ICSGoat
Step 2. Navigate to the ICSGoat Directory
cd ICSGoat
Step 3. Start up the application stack
sudo docker-compose up
Step 4. Access the entrypoint to the infra at "172.16.2.20" on your browser
Infrastructure Diagram:
Escalation Path:
Sherin Stephen, Software Engineer, INE [email protected]
Nishant Sharma, Director, Lab Platform, INE [email protected]
Shantanu Kale, Infrastructure Team Lead, INE [email protected]
Divya Nain, Software Engineer, INE [email protected]
For more details refer to the "ICSGoat.pdf" PDF file. This file contains the slide deck used for presentations.
- Contributions in the form of code improvements, feature improvements, and any general suggestions are welcome.
- Improvements to the functionalities of the current components are also welcome.
This program is free software: you can redistribute it and/or modify it under the terms of the MIT License.
You should have received a copy of the MIT License along with this program. If not, see https://opensource.org/licenses/MIT.