ControlThings Platform

Join our Discord server at https://discord.gg/controlthings

A Linux distribution to aid in the cyber security assessment and penetration testing of Industrial Control Systems (ICS), including SCADA, DCS, IoT, IIoT systems, field devices and field busses.

  • Virtual machines available now

  • Native installer is on its way

Virtual Machine Software Compatibility

Previous releases had issues with VMware on Windows 10/11 when using the GreatFET device. The latest version fixes this issue if you use the .vmx file in the download. The latest version should be compatible out of the box with the latest versions of VMware and VirtualBox. And it is also trivial to get working with Gnome-Boxes and Virt-Manager on Linux as well. I personally use Gnome-Boxes as my primary virtualization technology with this VM.

Download and Setup

Configuration files are provided for both VMware and VirtualBox. You can also import the .vmdk file into gnome-boxes or virt-manager if you are on a Linux host.

  1. Just download the VM from one of the following sources

  2. Verify the hash to make sure the file wasn't corrupted in download (In Windows you can use Get-FileHash <filename> in PowerShell)

    • ControlThings Platform 2022.08
      SHA256:
      8481FB6DB895C50DD6CB6A5C4D7C0FEB29C1F9D08D3AA4BAE9E94877141422D9

  3. Unzip the download with 7-Zip (if you are on a Mac, you can use Keka for this)

  4. Import the VM into your virtualization software

    • VMware Workstation Player/Pro on Windows 10/11 hosts or VMware Fusion on Intel-based Macs:

      • Double click on the .vmx file and it will automatically import the VM

      • If your laptop has more than 16GB of RAM, considering increasing the RAM on the VM from 4GB to 8GB

    • VirtualBox on Windows, Mac, or Linux hosts:

      • You MUST install the Oracle VM VirtualBox Extension Pack that matches the version of VirtualBox you have installed (available on same download page) and do a full reboot of your laptop after installing it

      • Double click on the .vbox file and it should automatically import the VM

      • Once imported, click on Settings for the VM, then on the Display page, change the Graphics Controller to VBoxSVGA

      • If your laptop has more than 16GB of RAM, considering increasing the RAM on the VM from 4GB to 8GB

      • If your VM acts strange or presents a black screen after logging into the VM, try rebooting the VM. If it is still acting strange, try changing the Graphics Controller in the VM settings to VBoxVGA

      • If you have any other problems with getting the VM to run using this method, you can also try creating a new VM and telling it to use the VMDK as a virtual hard disk. More information on how to do this is found in this document:
        https://docs.google.com/document/d/1wTF3DoJcGlahMjREXDojH6DknQNW54Tdlq3sbEs2Exk/edit?usp=sharing

      • If you are running Windows 11 and still having problems, you may be better off using VMware instead of VirtualBox

    • Gnome-Boxes on Linux hosts:

      • Click the + button and select Create Virtual Machine from File, pointing it at the vmdk file to automatically convert it to a qcow file and create a vm for you

      • When prompted, choose Debian Testing (or really any modern 64bit linux distro) as your VM's Operating System

      • When prompted, choose 4GB of RAM if your laptop has 8-16GB of RAM, or 8GB of RAM if your laptop has more than 16GB of RAM

    • Virt-Manager on Linux hosts:

      • Create a new Virtual Machine and choose Import Existing Disk Image, pointing it at the vmdk file to automatically convert it to a qcow file and create a vm for you

      • When prompted, choose Debian Testing (or really any modern 64bit linux distro) as your VM's Operating System

      • When prompted choose 4GB of RAM if your laptop has 8-16GB of RAM, or 8GB of RAM if your laptop has more than 16GB of RAM

  5. Guest tools for all previously mentioned virtualization software has already been installed (including Gnome-Boxes and Virt-Manager), but feel free to update them to match your exact version if desired or if copy/paste is not working

  6. The default RAM setting for the VM is set to 4GB. If your host computer has 16GB RAM or more, I would recommend increasing this to 8GB. If you are not sure, just leave it at the default I set

  7. Create a snapshot so you can restore to this starting point (not possible with VMware Player)

  8. Once you start the VM, the username is control and the default password is things. I would recommend changing your password to be on the safe side. You can do that at a command prompt by using the passwd command or inside of the graphical settings app.


If are getting this setup for the Assessing and Exploiting Control Systems and IIoT course, please make sure your VM is working BEFORE class begins. Also verify you are downloading the correct version for your class session.