Code Monkey home page Code Monkey logo

cybics's Issues

Put Raspberry Pi in Wi-Fi AP mode

To use the CybICS as a standalone device without Internet / existing Wi-Fi it should be in AP mode

  • Switch between station and AP mode e.g. with RaspAP
  • Unique WiFi Name, e.g. with STM serial number
  • DHCP

Create training session for Man-in-the-Middle attack

The attack should be a man-in-the-middle attack between the PLC and the HMI.
So the operator is tricked to see a normal behavior on the HMI, but in the real world something else is happening (e.g. too high pressure).

Tasks:

  • Create training content for a man-in-the-middle attack
  • Create python script for the attack
  • Redirect traffic between OpenPLC and FUXA
  • Manipulate registers in transit

Fix bash warning "setlocale"

Warning message:
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

./installRPI.sh failed "./install.sh: not found"

./installRPI.sh failed

Output:

=> ERROR [ 6/10] RUN export GNUMAKEFLAGS=-j$(nproc --all)     && alias make='make -j$(nproc --all)'     && ./install.sh docker                                                     0.3s
------                                                                                                                                                                                   
 > [ 6/10] RUN export GNUMAKEFLAGS=-j$(nproc --all)     && alias make='make -j$(nproc --all)'     && ./install.sh docker:
0.148 /bin/sh: 1: ./install.sh: not found
------
Dockerfile:16
--------------------
  15 |     WORKDIR /CybICS/OpenPLC_v3/
  16 | >>> RUN export GNUMAKEFLAGS=-j$(nproc --all) \
  17 | >>>     && alias make='make -j$(nproc --all)' \
  18 | >>>     && ./install.sh docker
  19 |     
--------------------
ERROR: failed to solve: process "/dev/.buildkit_qemu_emulator /bin/sh -c export GNUMAKEFLAGS=-j$(nproc --all)     && alias make='make -j$(nproc --all)'     && ./install.sh docker" did not complete successfully: exit code: 127

Implement CTF flags into trainings.

For the trainings, there should be a flag, when the task was completed successfully.
Examples Ideas:

  • Flag in Modbus Messages
  • Flag in FUXA HMI
  • Flag in OpenPLC
  • Flag appears in FUXA, when Blowout was triggered
  • Flag to read from OPC UA

pigpio uninitialised after OpenPLC container restarts

The OpenPLC can not write outputs anymore if the OpenPLC Docker container restarts.

docker@MLB-T14s:/CybICS/software$ ssh pi@$DEVICE_IP sudo docker compose -f /home/pi/CybICS/docker-compose.yaml logs openplc -f
openplc-1  | cp: cannot stat '/workdir/webserver/dnp3_default.cfg': No such file or directory
openplc-1  | cp: cannot stat '/workdir/webserver/openplc_default.db': No such file or directory
openplc-1  | cp: cannot stat '/workdir/webserver/st_files_default/*': No such file or directory
openplc-1  | 2024-03-09 16:57:20 initMboxBlock: init mbox zaps failed
openplc-1  | WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
openplc-1  |  * Running on all addresses (0.0.0.0)
openplc-1  |  * Running on http://127.0.0.1:8080
openplc-1  |  * Running on http://172.19.0.2:8080
openplc-1  | Press CTRL+C to quit
openplc-1  | 2024-03-09 16:57:20 gpioSetMode: pigpio uninitialised, call gpioInitialise()
openplc-1  | 2024-03-09 16:57:20 gpioSetMode: pigpio uninitialised, call gpioInitialise()
openplc-1  | 2024-03-09 16:57:20 gpioSetMode: pigpio uninitialised, call gpioInitialise()
openplc-1  | 2024-03-09 16:57:20 gpioSetPullUpDown: pigpio uninitialised, call gpioInitialise()
openplc-1  | 2024-03-09 16:57:20 gpioSetMode: pigpio uninitialised, call gpioInitialise()
openplc-1  | 2024-03-09 16:57:20 gpioSetMode: pigpio uninitialised, call gpioInitialise()
openplc-1  | 2024-03-09 16:57:20 gpioSetMode: pigpio uninitialised, call gpioInitialise()
openplc-1  | 2024-03-09 16:57:20 gpioSetMode: pigpio uninitialised, call gpioInitialise()
openplc-1  | 2024-03-09 16:57:20 gpioRead: pigpio uninitialised, call gpioInitialise()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.