Install from Scratch

If starting with a pre-built virtual appliance is impractical or you prefer to customize all aspects of the system, you can build a dedicated REMnux environment from scratch by taking the following steps. This allows you to install the REMnux distro on a physical host or a virtual machine.

REMnux is currently based on an x86/amd64 version of Ubuntu, and won't run on ARM processors such as Apple's M-series chips.

Step 1: Install Ubuntu 20.04

If you're looking to recreate the lightweight environment provided by the REMnux pre-built virtual appliance, start with the 64-bit minimal Ubuntu 20.04 ISO installation file.

Download the Ubuntu 20.04 mini ISO image. SHA-256 hash of the file should be:

c46c732f5ab8f33ce957db8b6f0827554bf100b8a26b4765410b252429a26380

Install Ubuntu 20.04 using the downloaded ISO installer. It's OK to follow default settings, but be sure to adjust them according to your needs.

If you're installing Ubuntu in a virtual machine, allocate resources based on what you have available. REMnux is a relatively lightweight distro, but the more you allocate to it, the faster it will run. For your refrence, the prebuilt REMnux virtual appliance ships with 4 GB RAM and 60 GB disk.

At the "Software selection" screen don't select any software and simply press "Continue." The REMnux installer will install the necessary packages in a later step.

Boot into your new Ubuntu system. You should find yourself at the command prompt. Login using the credentials you specified during the Ubuntu installation.

Step 2: Get the REMnux Installer

Download the REMnux installer from the REMnux website by running this command on your new Ubuntu system:

Validate that the SHA-256 hash of the downloaded file to make sure it matches this expected value:

To generate the hash of your file, run:

Set up the REMnux installer by running these commands:

Step 2: Install Dependencies

The minimal version of Ubuntu includes very few components. Install GnuPG, so that the REMnux installer can automatically validate the signature of the REMux configuration files it will download during the installation process. You might also need to install the curl package. To do this, run:

Step 3: Run the REMnux Installer

You're now ready to install the REMnux distro.

If you're planning to run REMnux in a local lab, kick off the installation by runing this command:

If you're depoying REMnux in a remote cloud environment and will need to keep the SSH daemon enabled for remotely accessing the system, use the following command instead to avoid disabling the SSH daemon. Remember to harden the system after it installs to avoid unauthorized logins:

The installation will take about an hour, depending on your resources and internet connection.

If the REMnux installer produces an error, diagnose the issue by reviewing the saltstack.log file under /var/cache/remnux/cli in the subdirectory that matches the REMnux state-files version you're installing. Search for the log file for result: false messages and look at the surrounding 5 lines or the 8 lines above each message to see the state file that caused the issue. (grep -i -C 5 'result: false' or grep -i -B 8 'result: false').

Step 4: Reboot the REMnux System

Once the REMnux installation finishes, reboot your new REMnux system by typing:

After the reboot, REMnux will automatically log you in. There is no logon screen for accessing the REMnux environment, because analysts generally use REMnux on a system to which physical access is already restricted.

If necessary, change the keyboard layout of your system to match your locale and setup.

Step 5: Review Configuration Tweaks Specific to Your Hypervisor

Depending on the hypervisor you're using, you might need to implement a few configuration tweaks to address or preempt issues with your REMnux virtual machine. Please review the Special Hypervisor Requirements before considering your installation finalized.

Step 6: Take a Snapshot of the Virtual Machine

If you installed REMnux inside a virtual machine, consider taking a snapshot of the VM, so you can return it to a known good state if the need arises.

Last updated