Avatar
Part time CTF Player learn every day!!
🌠 I Love Hoshimachi Suisei!! 🌠
🌠 I Love Hoshimachi Suisei!! 🌠

OverTheWire Leviathan Level 0 → 1 tutorial!!


Login

ssh leviathan0@leviathan.labs.overthewire.org -p 2223
# password: leviathan0

Each level is a separate UNIX account. The goal is always to find the password for the next level user.


Task

OTW description:

“Your first job is to find the password for leviathan1 somewhere on the system.”

So this is a recon challenge: explore files, look for backups, and dig into hidden directories.


A little bit of Theory

  • Backups are often overlooked: if misconfigured, they may leak sensitive info.
  • Recon basics:

    • ls -la → list files, including hidden ones.
    • head file → peek at large files without scrolling.
    • grep pattern file → search for useful keywords in big files.

Further reading:


Solution

  1. List your home directory

    ls -la
    

    Why? The .backup folder is owned by leviathan1 but group-readable by leviathan0. That’s our entry point.

    Output (excerpt):

    drwxr-x---  2 leviathan1 leviathan0 4096 Aug 15 13:17 .backup
    ...
    

    ls output

    → Found a hidden folder: .backup.


  1. Inspect .backup

    cd .backup
    ls -la
    

    Why? We find a big bookmarks.html. Manually reading ~130k lines isn’t smart.

    Output:

    -rw-r----- 1 leviathan1 leviathan0 133259 Aug 15 13:17 bookmarks.html
    

    backup folder


  1. Peek inside

    Shows Netscape bookmark format. So this is just a long list of saved URLs.

    head bookmarks.html
    

    Why? Understanding file type helps decide search strategy.

    head output


  1. Search for “leviathan”

    grep leviathan bookmarks.html
    

    Why? Searching for “leviathan” in bookmarks is logical — the file likely references the wargame and may leak a password.

    Output:

    <DT><A HREF="http://leviathan.labs.overthewire.org/passwordus.html | This will be fixed later, the password for leviathan1 is 3QJ3TgzHDq" ...
    

    grep output

    Boom 💥 Found the line with the password for leviathan1!


Password

3QJ3TgzHDq

Troubleshooting

  • Didn’t find .backup? → Ensure you ran ls -la (plain ls won’t show hidden dirs).
  • File too big to read manually? → Use head, tail, grep.
  • grep returns nothing? → Try broader keywords like pass, password, or leviathan.

Copy-paste quick run

ssh leviathan0@leviathan.labs.overthewire.org -p 2223
# password: leviathan0

ls -la
cd .backup
grep leviathan bookmarks.html
# → password: 3QJ3TgzHDq

ssh leviathan1@leviathan.labs.overthewire.org -p 2223
# password: 3QJ3TgzHDq

🎉 Congrats — you completed Leviathan Level 0 → 1. Lesson: hidden backups = easy loot if permissions are misconfigured.


Thanks for reading!

Until next time — Otsumachi!! 💖☄️✨

Cinema

all tags

GOT-overwrite aboutme aead ai alphanumeric-shellcode apt argc0 argon2 aslr assembly asymmetric atoi automation backbox bandit base64 bash beginner behemoth binary binary-exploitation binary-to-ascii blackarch blind blind-sqli blogging blue-team bruteforce buffer-overflow buffer-overwrite c caesar canary capabilities checksec command-injection commonmark cookie cron crypto cryptography ctf cutter cyberchef cybersecurity defenders detection dev directory-traversal dnf docs drifter ecc education elf env envp exploitation finale forensics format-string formulaone frequency frequency-analysis gcc gdb getchar gfm ghidra github-pages governance gpg guide hashing hkdf http jekyll jmpbuf kali kasiski kdf kernel keylength kramdown krypton lab ld_preload leviathan lfi lfsr linux linux-syscall llmops log-poisoning ltrace manpage markdown maze memcpy mitigations mitmproxy mlops narnia natas networking newline-injection nonce nop-sled nx object-injection obsidian openssl osint overflow overthewire package-manager pacman parrot path path-hijacking pathname php pie pkc pki pointer-trick pqc priv-esc privilege-escalation provable-security pwn pwntools pyshark python race-condition radare2 rag randomness recon red-team redirect relro requests ret2env ret2libc reverse-engineering reversing ricing roadmap rop rot13 rsa scapy security seed seo serialization session setjmp-longjmp setuid shell shellcode smoke soc sockets sprintf sql-injection srop stack-canary stack-overflow strace strcmp strcpy streamcipher strings strncpy strtoul substitution suid suisei symlink symmetric terminal test threat-intel time-based tls troubleshooting tshark type-juggling ubuntu udp utumno vigenere virtualbox virtualization vmware vortex walkthrough web windows wireshark writing wsl x86
dash theme for Jekyll by bitbrain made with