Skip to content

5. How MTDFramework works

CortexVacua edited this page Apr 10, 2022 · 4 revisions

To trigger the deployment of an MTDSolution, the user or a program needs to run MTDDeployerClient.py with the following three arguments --ip, --port and --attack. The --ip argument should be the current IP4 address of the RPi4 while --port should be the port specified in config.json. The --attack argument specifies which type of attack is happening. The value provided here should be one of the Type values specified in the config file.

So a call of MTDDeployerClient.py might look like this, if the RPi4 IP address is 192.168.1.44 and the port specified in config.json is 1234:
python3 MTDDeployerClient.py --ip 192.168.1.44 --port 1234 --attack CnC

If the config file provided in this repository is used for the framework which has the AttackType CnC configured, this would result in the two following commands being executed based on the configuration:

cd /opt/MTDFramework/CnC/
python3 ChangeIpAddress.py

If more than one MTDSolution is provided for an attack type in the config file, the MTDSolution with the lowest number in the propperty Priority is deployed. If you wish to dynamically decide which MTDSolution is called see: 6. Add DeploymentPolicy