- 13 Apr 2023
- 3 Minutes to read
- Print
- DarkLight
- PDF
Installation and Execution of a Penetration Test with Horizon3
- Updated on 13 Apr 2023
- 3 Minutes to read
- Print
- DarkLight
- PDF
Validate Enviorment:
To ensure that a Virtualization License is installed on the system:
- Go to System :: Licenses.
- If no Virtualisation license, install a valid license key
To ensure the Docker Service is started:
- Go to *Security :: Services *.
- Select Enable Docker and Save the page.
{height="" width="400px}
To validate the system with the official h3 validation tool:
- Open a console connection to the Nodegrid
- Login with sudo and shell permissions (admin ).
- Download and run the check utility
curl https://downloads.horizon3ai.com/utilities/checkenv.sh | bash
Output example
root@nodegrid:~# curl https://downloads.horizon3ai.com/utilities/checkenv.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 12300 100 12300 0 0 24117 0 --:--:-- --:--:-- --:--:-- 25678
[#] Conducting pre-checks to validate the environment is NodeZero ready:
[#] Checking Docker functionality by running the hello-world test container:
[+] PASSED: Docker version installed meets the minimum required version 20.10.
[+] PASSED: Docker is installed and functioning properly.
[#] Checking Docker permissions to volume mount files from /home/root directory:
[+] PASSED: Docker permissions are correct for the /home/root directory location.
[#] Checking Operating System:
[+] PASSED: Linux is a supported Operating System.
[#] Gathering environmental variables to conduct further checks:
[+] PASSED: All environmental variables set and proceeding with next checks.
[#] Checking host time against current UTC time:
[+] PASSED: System time is within 5 minutes of UTC time.
[#] Checking HDD space requirements (20GB Recommended, 10GB Required):
[!] WARNING: 18GB is less than the recommended 20GB free space on this disk, please ensure to prune old images before running Node Zero again.
[#] Checking 8GB RAM requirement:
[+] PASSED: This system meets the recommended minimum RAM to support NodeZero.
[#] Checking compute resource requirements:
[+] PASSED: This system has 4 CPUs which meets the minimum logical CPU requirements to run NodeZero.
[#] Pre-check validation completed successfully.
Installation of the h3_cli tool
An API key is required to access the H3 API. To copy the API key, go to User > Settings.(https://portal.horizon3ai.com/account-settings)
Keep this API key secure. Otherwise, anyone with this API key can access the H3 account.
To install the h3_cli git repo:
- Open a console connection to the Nodegrid
- Login with sudo and shell permissions (admin ).
- install the h3_cli repo
git clone https://github.com/horizon3ai/h3-cli
This creates a new directory, h3-cli. Download the repo's contents to this location.
To run the h3-cli install script
- Enter the commands to install and configure h3-cli. Replace your-api-key-here with the actual API key.
cd h3-cli bash install.sh your-api-key-here
The script installs dependencies (jq) and creates the h3-cli profile in the $HOME/.h3 directory. The API key is stored in the h3-cli profile. Profile permissions are restricted, so other users cannot read it.
To update the users
.profile
:- Execute this command to create a .profile file:
touch $HOME/.profile
- Open the file with an editor and copy the following content into the file:
vi $HOME/.profile export H3_CLI_HOME=/home/root/h3-cli export PATH="$H3_CLI_HOME/bin:$PATH"
Save the file.
Activate the new profile or log out and log in to activate the profile.
. ~/.profile
8 To test the installation, run:
h3
If the installation is correct, the h3-cli help text displays.
Getting started
This section is only a brief introduction. For more details [see].(https://docs.horizon3ai.com/reference/api/cli/readme/#6-download-pentest-reports)
- To verify connectivity with the API, run the following command, and confirm the response:
h3 hello-world { "data": { "hello": "world!" } }
- To run a pentest with the default template:
h3 run-pentest
The JSON response includes details for the newly created pentest. To verify the pentest is provisioning, check the Horizon3.ai Portal or run h3 pentest
.
Run NodeZero to start the pentest:
h3 run-nodezero
NodeZero is a Docker container. View with docker ps or the Nodegrid UI under Applications :: Docker. The container name format is: n0-xxxx.
View pentest reports at Horizon3 portal