- Get link
- X
- Other Apps
- Get link
- X
- Other Apps
Bandit Level 7 Walkthrough
Level 6 ➔ Level 7: The Global Search
1. My Objective
The mission has changed drastically. I am no longer looking inside a small folder. The password I need is hidden somewhere on the entire server. To find it, I have been given a set of metadata "fingerprints" that belong only to this specific file:
The Search Parameters:
- User Owner:
bandit7 - Group Owner:
bandit6 - Size: Exactly 33 bytes
Since I don't know the directory, I have to search from the Root (/), which is the absolute beginning of the entire Linux system. This presents a challenge: I will encounter thousands of files I don't have permission to see.
2. The Feynman Explanation: The Library & The Noise
How do I find one specific book in a giant national library if I am only allowed to enter certain rooms?
The Crowded Library Analogy:
I am looking for a book that belongs to a specific person (bandit7) and a specific club (bandit6). I start walking through every room in the building.
As I walk, I try to open doors. Thousands of them are locked, and every time I touch a locked door, a loud alarm yells: "PERMISSION DENIED!". If I let those alarms keep ringing, I won't be able to hear myself think, and I'll miss the answer.
In Linux, I use a Digital Muzzle (2>/dev/null). I tell the system: "Every time you want to scream 'Permission Denied,' throw that sound into a dark hole where I can't hear it. Only show me the one door that actually opens and matches my description."
3. Practical Solution
I log in as bandit6. Because I am searching the whole server, I must start my find command at /. I also include a redirection to handle the "noise" of error messages.
# I search from root (/) and filter by user, group, and size
# I use 2>/dev/null to hide all "Permission denied" errors
bandit6@bandit:~$ find / -user bandit7 -group bandit6 -size 33c 2>/dev/null
# The system reveals the secret location:
/var/lib/dpkg/info/bandit7.password
# Now I read the file to get the password
bandit6@bandit:~$ cat /var/lib/dpkg/info/bandit7.password
HKBPTKQnIayHw6GL9aqmN66nhBaZQX7C
# I use 2>/dev/null to hide all "Permission denied" errors
bandit6@bandit:~$ find / -user bandit7 -group bandit6 -size 33c 2>/dev/null
# The system reveals the secret location:
/var/lib/dpkg/info/bandit7.password
# Now I read the file to get the password
bandit6@bandit:~$ cat /var/lib/dpkg/info/bandit7.password
HKBPTKQnIayHw6GL9aqmN66nhBaZQX7C
🚀 My Pro Tips: Mastering Error Redirection
✨ Understanding '2>/dev/null'
In Linux, every command has two output streams: 1 (Success) and 2 (Error). When I type 2>/dev/null, I am telling the terminal: "Take everything from stream 2 and send it to /dev/null" (a special file that acts as a black hole). This is the professional way to keep a terminal clean during global searches.
⭐ Why '33c' again?
The 'c' is non-negotiable for bytes. If I leave it out, I will be searching for 33 "blocks" of data, which is completely different and will result in zero matches for this mission.
🔍 Searching from Root (/)
I only search from / when I have absolutely no idea where the file is. On a real server with millions of files, this can be slow. If I had a hint it was in a system folder, I might search /etc or /var instead to save time.
4. Why this matters
I encounter this situation frequently in system administration. Sometimes I need to find a configuration backup made by a specific automated user, or a log file that has grown to a specific size. Knowing how to query the entire filesystem while silencing the "noise" of restricted areas is a mark of a competent Linux user.
Mission Accomplished!
I've successfully performed my first global search. I'll save this password and proceed to Level 7 ➔ Level 8, where I'll search inside a massive text file!
Tags: #Linux #Bandit #OverTheWire #FindCommand #StandardError #DevNull #FileOwnership #CyberSecurity #FeynmanTechnique #CodeWithPritom #ProTips
- Get link
- X
- Other Apps
Devoted to excellence as a Software Engineer
Comments
Post a Comment