NodeZero Host Virtual Machine (OVA/VHD)
The NodeZero Host virtual appliance is a small virtual machine based on a pre-configured Ubuntu 20.04 installation. It’s designed to execute NodeZero pentests and bundles tools that facilitate pentest execution, as well as debug and maintenance.
Downloads
Tip
Always verify the files download come from Horizon3.
VMWare/Virtualbox importable OVA
Windows Hyper-V importable VHD
Specifications
The NodeZero host virtual machine comes pre-configured to use these resources:
- 2 x CPUs
- 8GB of RAM
- 40GB of disk
- Bridged network adapter
Before Setting Up
If your environment restricts access to external sites through an outbound proxy or similar mechanism, please make sure that it allows connections to the following sites:
*.ubuntu.com
*.canonical.com
downloads.horizon3ai.com
github.com
(optional forh3-cli
updates)
Installation
Installing the virtual machine is a matter of importing the OVA file from the download link above into the virtualization environment. We provide the following set of steps as an example to use with VMWare’s vSphere client or with VirtualBox.
VMWare vSphere
vSphere client is one of VMWare’s virtual environment management solutions. You can find more information on the client itself in VMWare’s documentation.
Note
The following steps are for vSphere client version 7.0.3.00500.
After downloading and verifying the most recent NodeZero-####.ova file from the downloads section above, follow these steps to import and launch the NodeZero host virtual machine.
- Log into your VMWare vSphere client.
- Select Deploy OVF Template from the Actions menu.
- Select the Local File option
- Click the
Upload Files
button to locate the OVA file downloaded in step #1. - Give your VM a name if you want it to be different from the default, and select a location to deploy to. Click Next.
- Select the compute resources you’ll be using. Click Next.
- Verify the import settings are correct and that the signature is from Horizon3. Click Next.
- Select the storage destination. Click Next.
- Select a network to use. Click Next.
- Review your selections. Click Finish.
- To launch the VM, select it from the list on the left and click the
Power On
button.
VirtualBox
After downloading and verifying the most recent NodeZero-####.ova file from the downloads section above, follow these steps to import and launch the NodeZero host virtual machine.
- Open VirtualBox.
- Click on
Tools
, thenImport
. - Enter the location of the OVA file. Click Continue.
- Click Import wait for it to complete.
- Make sure you use a bridged network adapter:
- Select the newly imported NodeZero virtual machine from the list on the left.
- Click
Settings
, thenNetwork
. - Confirm that
Attached to
is set toBridged Adapter
. - Confirm that
Name
is set to the name of the adapter connected to your internal network. - Click OK.
- Select the NodeZero virtual machine from the list on the left.
- Launch the VM by clicking
Start
.
Windows Hyper-V
After downloading and verifying the most recent NodeZero-####.vhd file from the downloads section above, follow these steps to import and launch the NodeZero host virtual machine.
- Ensure Hyper-V has both the Management Tools and Platform enabled and installed. See Windows docs for more info
- Create a virtual machine. From the Hyper-V manager's menu bar, select
Action > New > Virtual Machine...
- In that New Virtual Machine Wizard enter a name for the new virtual machine for use in Hyper-V
- Select the virtual machine as
Generation 1
- Select the amount of memory to use for the virtual machine. Set startup memory to
8192
or greater. Note: Dynamic memory can be used or disabled, per customer's environment standards. - Select a network to have NodeZero run in. Ensure the network connection is to a production network where a real IP is given (DHCP) or an assigned IP (Static) can connect. NOTE: Hyper-V's default switch setting will NOT work
- Select the virtual hard disk (vhd). Select
Use an existing virtual hard disk
and browse to the NodeZero-xxx.vhd file that you recently downloaded - Review the information is correct
- From the Hyper-V manager select the newly created virtual machine and click Connect
- A new window will show the virtual machine and select Start to initialize a new NodeZero host virtual machine.
Usage
Connecting
If using vSphere, once the host is powered on, the client interface gives the option of using a web console or a remote console.
If using VirtualBox/Hyper-v, after starting the VM, a new display window appears that shows the operating system load screen.
With either system, once the OS fully loads, there will be a login screen that looks like this:
Username and First Login
When first launching the NodeZero host, SSH password access is disabled until the host is initially logged into and updates the default password.
Login with these credentials:
- Username:
nodezero
- Password:
nodezero
When successful, there will be a prompt like the one below:
You are required to change your password immediately (administrator enforced)
Changing password for nodezero.
Passwords require min 14 characters and must include at least
1 Digit, 1 Special, 1 Upper and 1 Lower Case
Current password:
Enter the password from step #1 and hit enter.
Next there will be a prompt for New password:
, enter a secure password that can be used from now on and hit enter.
Finally confirm the password with Retype new password:
, enter the same password and hit enter.
Once password has been successfully changed, the user is logged into the host. Make sure to keep that password for use in the future.
Once the login process completes, there will be a message of Enabling SSH password authentication
displayed. At this point SSH has been enabled on the host and it may be accessed using an SSH client.
Using SSH
To enable SSH on the host, connect to the host over a management console and change the default password for the user nodezero
as described in the previous step. Once that is done SSH will be enabled on the host.
To connect over SSH with Linux or MacOS, run the command below, replacing <IP_ADDRESS>
with the one shown in the login screen.
ssh nodezero@<IP_ADDRESS>
If using Windows, a client like PuTTY will be needed to connect. Fill out the Host Name (or IP Address)
field with the address shown in the login screen.
Additional Setup Options
The n0 utility helps with configuring the host with a static ip, using a proxy, downloading the latest CLI, and setting timezones as well as running the checkenv script
Running a NodeZero Pentest
- Log into the Horizon3 web portal
- Create a new pentest providing the relevant setup information.
- Copy and paste the curl command from the portal into the shell of a NodeZero host.
- The pentest starts executing like the in the screenshot below.
Automating NodeZero
NodeZero supports automating the running of itself through the use of the h3-cli
and setting up a runner on the host. This can be done by following the steps for setting up a runner