Skip to content

Linux

  • First you will prepare your host for an hypervisor
  • Second you will prepare your python environment

Prepare your Provider

  • Vagrant

  • Virtualbox

    • Install virtualbox
      sudo apt install virtualbox
      
  • Install vagrant plugins

    vagrant plugin install vagrant-reload vagrant-vbguest winrm winrm-fs winrm-elevated
    

Disk space

The lab takes about 77GB (but you have to get the space for the vms vagrant images windows server 2016 (22GB) / windows server 2019 (14GB) / ubuntu 18.04 (502M)) The total space needed for the lab is ~115 GB (depend on the lab you use and it will take more space if you take snapshots), be sure you have enough disk space before install.

RAM

Depending on the lab you will need a lot of ram to run all the virtual machines. Be sure to have at least 20GB for GOAD-Light and 24GB for GOAD.

Tip

Vmware workstation is now free for personal use !

Disk space

The lab takes about 77GB (but you have to get the space for the vms vagrant images windows server 2016 (22GB) / windows server 2019 (14GB) / ubuntu 18.04 (502M)) The total space needed for the lab is ~115 GB (depend on the lab you use and it will take more space if you take snapshots), be sure you have enough disk space before install.

RAM

Depending on the lab you will need a lot of ram to run all the virtual machines. Be sure to have at least 20GB for GOAD-Light and 24GB for GOAD.

  • To add GOAD on Ludus please use goad directly on the server.
  • By now goad can work only directly on the server and not from a workstation client.

  • Install Ludus : https://docs.ludus.cloud/docs/quick-start/install-ludus/

  • Be sure to create an administrator user and keep his api key

  • Once your installation is complete on ludus server (debian 12) and your user is created do :

git clone https://github.com/Orange-Cyberdefense/GOAD.git
cd GOAD
sudo apt install python3.11-venv
./goad.sh
...>exit
vim ~/.goad/goad.ini # add the api_key in the config file (keep impersonate to yes and use an admin user)
./goad.sh -p ludus
...>set_lab XXX # GOAD/GOAD-Light/NHA/SCCM
...>install

Prepare your python environment for goad.py

  • To run the Goad installation/management script you will need : Python version >=3.8 with venv module installed

  • Install the python3-venv corresponding to your python version

sudo apt install python<version>-venv
  • Example:
sudo apt install python3.10-venv
  • Then you are ready to launch
./goad.sh
  • The script will :
    • verify python version >=3.8
    • create a venv in ~/.goad/.venv
    • launch python requirements installation
    • launch ansible-galaxy collections requirements installation
    • start goad.py with the venv created

Tip

if you got an error during requirements installation, look at the error and delete ~/.goad/.venv before try again

Tip

if you need to force a python version change the variable py=python3 to py=python3.10 for example in the goad.sh script

  • Install python dependencies:

    poetry install
    

  • Install ansible-galaxy requirements:

    • If python < 3.11

      poetry run ansible-galaxy ansible/requirements.yml
      

    • If python >= 3.11

      poetry run ansible-galaxy ansible/requirements_311.yml
      

  • Run goad:

    poetry run python3 goad.py
    

Info

With this method ansible-core will not be installed locally on your venv

  • be sure you have docker installed on your os for the provisioning part (ansible will be run from the container)
  • To run the Goad installation/management script you will need :

    • Python (version >= 3.8) with venv module installed
  • Install the python3-venv corresponding to your python version

sudo apt install python<version>-venv
  • Example:
sudo apt install python3.10-venv
  • Run goad with ./goad_docker.sh instead of ./goad.sh to install the dependencies without the ansible part (local and runner provisioning method will not be available)