There are two recommended options for running IDA/NodeZero on Windows:
1. Desktop Hypervisor (Recommended)
Using a desktop hypervisor such as VirtualBox (free), VMware Player (free) or VMware Workstation (paid) allows more advanced control. This enables choosing the Operating System (OS) to use as a docker host by running a Virtual Machine (VM) within the desired desktop hypervisor of choice. This option requires the installation of the desktop hypervisor, deploying a VM or OVA template, and installing Docker on the deployed VM's OS.
Links for installing desktop hypervisors on Windows are as follows:
VMware Player (free)
Guides to deploy an Ubuntu VM can be found in the references below:
For more documentation on requirements and setup to run NodeZero, see NodeZero Docker Host.
2. Windows Subsystem for Linux
Windows subsystem for linux is a way to enable compatibility with linux. Using this approach allows the NodeZero launch script to work on windows.
a. Install Docker desktop
Download Docker desktop for Windows from https://hub.docker.com/editions/community/docker-ce-desktop-windows and install.
Check all option in the configuration.
Select Close and restart.
b. Install and configure WSL
Install Windows Subsystem for Linux from https://docs.microsoft.com/en-us/windows/wsl/install-win10.
If you are running Windows 10 Enterprise, Pro, or education enable Hyper V by following https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v and reboot you computer.
c. Install and configure Linux
Install Linux for Windows from https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6?activetab=pivot:overviewtab
Once the install is complete launch the application from your start menu, it will be named Ubuntu.
After you have followed the prompts to create your username and password, launch docker desktop from your start menu or desktop shortcut.
When Docker Desktop starts, go to Settings > Resources > WSL Integration. You should see something like the below.
Toggle the button next to your installed linux version, in this case Ubuntu and click "Apply & Restart" in the lower right corner.
To validate your install return to your linux terminal and run the following:
curl https://h3ai-web.s3.amazonaws.com/checkenv.sh | bash
The output should look similar to the following
# curl https://h3ai-web.s3.amazonaws.com/checkenv.sh | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 18646 100 18646 0 0 61134 0 --:--:-- --:--:-- --:--:-- 61134 [#] This script validates the environment is ready to run NodeZero. [#] Checking Operating System: [+] PASSED: macOS is a supported Operating System. [#] Gathering environmental variables to conduct further checks: [+] PASSED: All environmental variables set and proceeding with next checks. [#] Checking Docker functionality by running the hello-world test container: [+] PASSED: Docker is installed and functioning properly. [#] Checking Docker permissions to volume mount files from /Users/test/test directory: [+] PASSED: Docker permissions are correct for the /Users/test/test directory location. [#] Checking connectivity to AWS resources: [+] PASSED: s3.us-east-2.amazonaws.com is reachable. [#] Checking 6GB HDD space requirements: [+] PASSED: There is enough space for the NodeZero container: 34.0386GB [#] Checking memory requirements: [+] PASSED: This system has 32GB RAM which meets the recommended minimum to support NodeZero. [#] Checking compute resource requirements: [+] PASSED: This system has 20 CPUs which meets the minimum logical CPU requirements to run NodeZero. [#] Script complete. If any checks failed, correct and re-run before attempting to 'Run a Pen Test'. If all checks passed, the environment is NodeZero ready. If there are warnings, the environment is still NodeZero ready and you may choose to accept or correct the warnings.
If you run into any Failures, please contact us via the chat icon in the lower right hand corner of the portal, or shoot us a message at email@example.com
From here you are ready to run an op! Follow starting at step 3 from our getting started guide https://www.horizon3.ai/resources/documentation/getting-started.
If you run into errors when starting docker please see here for assistance. https://docs.docker.com/docker-for-windows/troubleshoot/#virtualization