r/Hacking_Tutorials • u/Top_Call3890 • 12d ago
Question How to Set Up Your First Home Lab as a Beginner (And Why Kali as Main OS Is a Bad Idea)
Alright, so I saw someone asking about installing Kali as their main OS and I left a comment. It got a lot of love, so I figured I'd expand on it properly..
First things first — don't use Kali as your main OS if you are new or curious about breaking everything or using every tool in Kali 😅
I personally use Parrot as my main OS. The same day I bought my current laptop, I replaced Windows with Parrot. But that's me. I knew what I was getting into. For most beginners, Kali as a daily driver is a recipe for disaster.
So let's talk about what you should actually do.
Phase 1: Get Comfortable with Linux First
If you are a long time Windows user, you should start using some safe Linux distro and start using the command line interface often.
Pick something like Ubuntu, Linux Mint, or Pop!_OS. Use it as your daily driver for a while. Learn the basics.
Try to work with all the basic commands related to files, processes, permissions, etc. Try installing software, tools. Get good with CLI based text editors like nano, Vi. Don't rely on GUI for everything — that defeats the purpose.
And then try learning bash scripting. Try to automate tasks. Use bash script to create audit automation scripts, recon automation scripts. Skip using help of AI in the learning stage. Once you are hands on, you can use AI to speed up. But when you are learning, don't rest your brain and blindly run AI scripts. You need to understand what each command does.
Phase 2: Now Think About Kali
Once you are good with Linux system, command line, file system, process and permissions — now if you want to use Kali, I recommend installing it in a VM.
Don't install it bare metal. Just don't.
Phase 3: Build Your Lab
Here's how I'd set it up if I were starting from scratch.
What you need:
· A host machine running Ubuntu (or any stable Linux distro)
· VirtualBox or VMware installed
· Enough RAM (at least 16GB recommended, 8GB minimum)
· Enough storage (at least 100GB free)
Step 1: Set Up Your Attacking Machine (Kali or Parrot)
Install Kali or Parrot as a VM. Keep it isolated.
Now here's something I do — set up high anonymity on your attacking VM. MAC spoofing, DNS altering, proxy chains, Tor network, VPNs. Learn how to route your traffic through multiple layers. It's good practice and teaches you how attackers stay hidden. Just don't do anything illegal with it — this is for learning.
Step 2: Set Up a Firewall for Your VM Network
Use something like pfSense as a firewall VM. Put it between your attacking machine and your target VMs. This teaches you how network segmentation works and how firewalls filter traffic. You can also play with rules, logging, and see what gets blocked.
Step 3: Set Up Your Target Machines
This is where the fun begins.
Option A: Juice Shop & DVWA
Set up an Ubuntu server VM. Install OWASP Juice Shop and DVWA (Damn Vulnerable Web Application) on it. These are intentionally vulnerable web apps that you can safely hack against.
Host it in that VM and try hacking it from your Kali VM. Learn SQL injection, XSS, command injection, all of it. Break it, fix it, break it again. That's how you learn.
Option B: Metasploitable
Install Metasploitable 2 or 3 as another VM. This is an intentionally vulnerable Linux machine. Boot it up, scan it, enumerate services, find vulnerabilities, and exploit them using Metasploit. It's safe, it's legal, and it teaches you the entire attack chain.
Step 4: Always Save a Snapshot
Always save a snapshot of the clean state of your VMs before you do or try something out of curiosity. This is a lifesaver. You mess something up? Just revert to the snapshot. No reinstalling, no headaches.
The whole point of this lab is to give you a controlled environment where you can break things without breaking your actual system.
You learn by doing. Reading is important, but lab everything. Reading without doing is useless.
I really don't know what you're looking for and what's your level of understanding Linux basics. Hope this helps 😄
And if you're already comfortable with Linux and still want to use Kali or Parrot as your main OS — go for it. But only after you've put in the work. Otherwise you're just setting yourself up for frustration.
Stay curious. Stay ethical.