← Back to Home

OverTheWire Bandit: Level 0 → Level 1

Technical Note

1. Context

We have successfully logged into the Bandit server as bandit0. To advance to Level 1, we are told that the password is stored in a file named readme located in our home directory. Our task is to locate this file, verify its type, and read its contents.

2. Technical Logic

To an operating system kernel, data is simply blocks of bytes on a disk. As users, we must use the correct tools (system calls) to make sense of these blocks.

The Toolbox

  • ls (List Segments): Lists file pointers (inodes) in a directory. It allows us to “see” files.
  • cat (Concatenate): Reads file content byte-by-byte and streams it to standard output (stdout/screen).
  • file: Critical Command. In Linux, file extensions (e.g., .txt, .exe) are not mandatory and can be misleading. This command reads the “Magic Numbers” in the file header to reveal what the file actually is (e.g., ASCII text, binary data).
  • cd, find, du: Tools for navigation, searching, and disk usage analysis. (Since the file is right in front of us, we won’t dive deep into these yet).

3. Execution

Step 1: List Files

ls
# Output: readme

Step 2: Verify File Type (Best Practice) Always verify a file is text before reading it. Using cat on a binary file can corrupt your terminal session.

file readme
# Output: readme: ASCII text

Step 3: Read Content

cat readme
# Output: [The password for the next level is here]

4. Result

Copy the retrieved password and save it for the next connection. To logout: exit New connection: ssh bandit1@bandit.labs.overthewire.org -p 2220