Narnia
We all have to start somewhere.
Narnia is a wargame that has been rescued from the demise of intruded.net, previously hosted on narnia.intruded.net. Big thanks to adc, morla and reth for their help in resurrecting this game!
What follows below is the original description of narnia, copied from intruded.net:
Summary:
Difficulty: 2/10
Levels: 10
Platform: Linux/x86
Author:
nite
Special Thanks:
lx_jakal for pointing out a bug that made a level easier =)
Description:
This wargame is for the ones that want to learn basic exploitation. You can see the most
common bugs in this game and we've tried to make them easy to exploit. You'll get the
source code of each level to make it easier for you to spot the vuln and abuse it. The
difficulty of the game is somewhere between Leviathan and Behemoth, but some of the
levels could be quite tricky.
Narnia’s levels are called narnia0, narnia1, … etc. and can be accessed on narnia.labs.overthewire.org through SSH on port 2226.
To login to the first level use:
Username: narnia0
Password: narnia0
Data for the levels can be found in /narnia/.
Concepts and tools you may find useful to solve this wargame
Concepts:
- Assembly language - read & write!
- Dynamic program analysis - gdb is your best friend!
Tools: gdb, gef, pwndbg, radare2, as, gcc, /etc/motd, pwntools, ghidra, python3
This wargame requires you to analyze the given source/binary, find an exploit vector and then exploit it. This will most certainly include x86 binary code. Reading and writing x86 assembly skills are strongly recommended. The same applies for tools for static and dynamic analysis. Shellcode creation can be automated to some point with pwntools’ shellcraft module.
Note: You do not want to download and run random shellcode form the internet. It may erase your harddisk or worse. It is recommended to write your own shellcode!