Dec 8, 2013

How To Become An Ethical Hacker?

So you want to dive into offensive security and (ethical) hacking? You are dreaming about putting on your _insert favourite colour here_ hat and start exploring and exploiting the digital highways?
I certainly wanted to do this 2,5 years ago. Back then I started my journey into hacking and penetration testing and everything related to offensive security. I was fairly experienced with computers in general, the web and programming but hacking was still a new world to me.

I often wonder about what tips and tricks I would pass my former self to accelerate my own journey if I had a chance to use the Delorian and go back to a point in time 2,5 years ago. This is a list of a few things that would have made my learning experience more comfortable and would have certainly enhanced my growing process.

Surround yourself with likely-minded peers

This might sound trivial, but having some people around you who acutally understand you once you start to talk about buffer overflows, SQL injection and post exploitation really helps. I'm not saying you should immediately try to tell everyone about your cool new hacking stuff, but I'm sure you have some people around you that could also be interested in how to break into a webserver (or maybe one of your friends operates a web server and would love to know how to make it more secure?). Even if the people you are sharing thoughts with are not ethical hackers but developers or web-designers, talking about hacking-related topics and getting different perspectives on your thoughts really helps. 

For the beginning it is very important to talk about topics you find interesting. Just by discussing technology and putting things into perspective you will see that once you explore a certain topic in more depths you will automatically get in contact with other people in this domain, which is even more beneficial. Look in your area for hacking groups, hack-spaces, developer meetings and co-working spaces to surround yourself with some peers.

Find a mentor

Although talking to peers about problems can be very good for your learning experience, sometimes you need someone that has walked the road ahead of you already. Call this someone whatever you want, I labelled him mentor. What is more important than his label is that he can support you in case you require somebody who points you in the right direction once you get stuck somewhere.

Read, read, read ... But only that much

Reading is an important tool for acquiring new skills. On conferences, I usually spend hours in the vendors' area looking at all the awesome new tech-books that have been published recently. I can spend days with a good book and enjoy reading other books besides hacking literature very much. Relating to sharpening your hacking skills and progressing on our journey to 1337, reading will only help you up to a certain point. Don't get me wrong, I can't stress the importance of reading, but it also bears the pitfal of getting stuck on literature. Hacking is a very practical art which recquires a lot of reading and gathering background knowledge. Literature is at best your guide and your savior when you have to look up commands, code or an exploit and at worst an intermediate medium standing between you and active knowledge. Sure, you can understand how to crack a server with an exploit by reading some tutorials about it on the internet. The other thing is doing it on 3 or 4 test machines with a tool (e.g. Metasploit) with all the peculiarities that come with it and that no tutorial can prepare you for. This is also applicable to other fields of learning, see the concept of Inert Knowledge touching upon this for more information.

Gain practical experience

This piece of advice relates back very strongly to the point just above. Get your hands on some targets to practice on! There are several out there on the web (look at me!), many come in the form of virtual machines or ISO images. A lot of websites offer free hacking excercises, many of them related to website hacking. Ask your friends (remember surrounding yourself with peers?) if you may check their websites, servers and other stuff for vulnerabilites or leaks. If you are getting better, maybe build an attackable machine yourself and put it up for others to enjoy and learn with. You can also start thinking of participating in Capture The Flag or King Of The Hill war games. Don't get intimidated by other people in the competitions, we all started somewhere and since the hacking community is often supportive when it comes to learning and sharing you have nothing to lose but a lot of experience to gain. Not to mention that feeling the thrill of a little war game can be a lot of fun!

Structure your learning

Once you understood the framework in which ethical hacking is set in, you should start to dive into different areas one by one. By understanding the framework I mean having an idea about different domains of hacking and penetration testing such as infrastructure, wireless, web-application or mobile devices. Focus on one topic at a time and try to immerse into it. The more you explore a topic, the less friction loss you will have by jumping between topics.

Attend conferences

Ever heard of Defcon? Or Blackhat? CCC for the Germans out there? These are the places where you want to be. Attending a conference is a unique chance to meet so many fellow hackers in one place. Not only is the atmosphere itself often inspiring but the talks and workshops will also help you to get to the next level of learning and mastery. If you have already visited conferences in the past you might want to think about preparing a presentation yourself. It is a great opportunity to work on your speaking and presentation skills as well as it will definitely gain you visibility. Oh, and of course you can brag then that you have spoken on a conference.

TL;DR: Be sociable and harness learning-psychology to make hacking an even better experience.

No comments:

Post a Comment