Homelab Tutorials

From Daelphinux
Jump to: navigation, search

Building a Homelab

This series is geared towards relative beginners in building a simple lab that will allow for practicing security skills against vulnerable virtual machines. It will go over the basics of setting up a Driver, an Infrastructure machine, and a vulnerable machine. The final article will be a write-up of a vulnerable system.


I like it when I help people that they can also keep me accountable. To that end: these are the things you should learn by the end of this series.

  • How to set up a virtual machine
  • How to install Linux Desktop Operating Systems
  • How to install Linux Server Operating Systems
  • How to install basic network services
  • How to explain basic network services and design
  • How to design a simple network
  • How to use the Linux Operating System
  • How to describe the basic hierarchy of the Linux File System
  • How to scan a network
  • How to identify open ports on a target system
  • How to find basic exploits
  • How to use Metasploit to implement a basic exploit



Before you start following these tutorials it will be a good idea to have some basic skills and information on the following topics:

  • Virtualization
  • Linux


You will also need some software installed on your host machine:

  • Virtualbox
    • Virtualbox is the hypervisor we will be virtualizing our lab systems in.

We will be using the following Linux Distributions and versions noted here:

  • Ubuntu 20.04 Server [Download]
  • Parrot Security Desktop [Download]
    • You will want to choose your poison for Desktop manager, I prefer Mate.

This is the example vulnerable system we will be using for the lab and walkthrough:

  • Basic Pentesting 1 by Josiah Pierce [Download]
    • You will need to download the OVA file for the virtual appliance.


You will need a host system running Microsoft Windows 10 with the following specifications:

  • A BIOS and Motherboard capable of Virtualization
  • 16+ GB RAM
  • 256 GB Free Hard Drive Space
    • I recommend a good external hard drive
  • A processor capable of Virtualization such as an i5, i7, or i9 of almost any generation with multiple cores

You will also need the tenacity to push through continuous failure and frustration for great reward.



00 - Configuring a Virtual Machine

In this tutorial we will configure a virtual machine and go over how to choose the various settings and values.

01 - Installing an Operating System

In this tutorial we will install Parrot security on our virtual machine.

02 - Using Linux

In this tutorial we will install Ubuntu Server and cover the basics of using a Linux Operating System. We will also be installing our first network service: DHCP

In Progress

Linux OS - Tutorial in progress. I will be coming back to write this tutorial here soon, however I am going to recommend readers of the "Homelab" tutorial series follow the Bandit Walkthroughs to get a better understanding. I am currently working on those if you would like to follow along it will give you far more information than the primer I have planned for this series for people already comfortable with Linux.

Final System Design

By the end of this series you will have a system that looks something like the following, with a rotating series of target systems. Keep in mind this is the simplest version of this system. You can have specialized Drivers, Infrastructure systems, or Vulnerable systems as needed. We are also only going to use one Infrastructure system with multiple services, this is not generally considered a best practice.

                           |Lab Environment                                                                                    |
                           |                                                                                     |
                           |                                                                                                   |
                           |                                                                                                   |
                           |                                                                                                   |
                           |                                                                                                   |
  +----------------+       |     +-------------------------+                                                                   |
  |                |       |     |Driver                   |                                                                   |
  |    Internet    |<------+---->|                         |                                                                   |
  |                |       |     |Parrot OS                |<------------------------------------------+                       |
  +----------------+       |     |                         |                                           |                       |
          ^                |     |         |                                           |                       |
          |                |     +-------------------------+                                           |                       |
          |                |                  ^                                                        |                       |
          |                |                  |                                                        |                       |
          |                |                  |                                                        |                       |
          |                |                  |                                                        |                       |
          |                |                  v                                                        v                       |
          |                |     +-------------------------+                       +---------------------------------------+   |
          |                |     |Infrastructure           |                       |Vulnerable System                      |   |
          |                |     |                         |                       |    (Basic Pentesting 1)               |   |
          +----------------+---> |Ubuntu Server            |<--------------------->|Variable (Ubuntu)                      |   |
                           |     |                         |                       |                                       |   |
                           |     |           |                       |Variable (            |   |
                           |     +-------------------------+                       +---------------------------------------+   |
                           |                                                                                                   |
                           |                                                                                                   |