I’ve been programming Ruby for some time, and about half a year ago I got hooked up with penetration testing. There were tons of things I learned about how computers work, how networking works and other similar things. I don’t have computer science background so much of this stuff was new for me and this showed me how little I know about the computers and how they work. In order to expand my knowledge I started looking for different resources on various topics.
While reading one of the books I stumbled upon
Narnia. What it turned out to be was a hacking game where you literally had to sniff, poke and probe things on a live remote system and hack it to complete the given task. Unfortunately on the level I am now
Narnia is still too difficult for me but there are less complicated games. The easiest one is
Bandit and boy what fun it is.
You can find all the games HERE.
It revolves around simple tasks — mostly connected with using terminal tools like
ls — all the basic terminal utils. There are 27 levels. Each level has a set of instructions and a direction where too look. The purpose of each task is to find the password to the next level.
It is not important how long you are a programmer and how experienced you are. I believe everyone can benefit from going through at least some of this exercises. If not for knowledge then for a feeling — the excitement of solving the riddle and getting the password to the next level. Each time you solve the task you feel victorious because you "hacked the system". Who doesn’t like that?
I can’t stress it enough how these terminal utilities become handy when you need to look through the server logs or find a configuration file which location you don’t know or forgot. This is especially important when something broke and you must quickly find the cause of an error. Terminal will help you but only if you know how to use it’s capabilities so do yourself a favor and learn it.
And if you want to learn a lot about the computers and web and how all this work together delve into penetration testing — you’ll really learn a lot.