How to Become an Ethical Hacker (Step-by-step Guide)

Any person who is seriously considering to become an ethical hacker should be aware of the challenges they might face. If you think that you will get to the expert level in a few weeks or months, then I’m sorry to bring you the bad news: It won’t be easy. In fact, it will take you years to reach a level that will allow you to seriously challenge real-world systems and finally monetize your hacking skills (Legally, of course).

Therefore, if you are not ready to put in the time and effort, then this might not be the right place for you.

With this introduction, I am not trying to discourage you. I am simply trying to make sure that you have enough motivation and willpower to achieve this goal.

So, with all this being said, you have given it some thought and now you’ve decided that you’re ready to give it all it takes to become an ethical hacker?

Well, that’s good. By taking this decision, you’ve already made the first step.

There is only one problem: Where should you start?

Well don’t worry about that, you’ve come to the right place. In this post, I provide a step-by-step guide on how to become an ethical hacker. I have also added links to resources that can help you at each step of your way.

All tutorials and learning materials that I have included here are completely free. This way, you don’t have to spend your money on expensive courses.

So, if you’re ready to become an ethical hacker, let’s go ahead and get started with the first step.

How to become an ethical hacker

1. Learn the fundamentals

Before you can learn about hacking and security, you should first have a solid foundation of computer skills. This is a very important step, one that you should not skip.

If you lack an understanding of how underlying computer systems work, then you will always rely on tools developed by other hackers. People who do that are called script kiddies, and, believe me, you do not want to be called that.

So, for this first step, here is what you should learn

Computer networks

Computer networks are everywhere. Even now, you are connected to one. It is almost impossible to find a computer system not connected to a network.

Computer networks can be connected to the Internet, or they can be completely isolated. Either way, knowing how these networks operate is necessary if you want to find out what vulnerabilities they might have.

There are plenty of resources on the web that provides tutorials and courses about computer networks. The Bits and Bytes of Computer Networking is a great course made by Google for beginners. Another useful resource is The Network+ Training Course by Professor Messer. You can also check computer networking tutorials for beginners on Patchthenet.

Linux

I have nothing against Windows, but when it comes to hacking, I cannot help but swear by Linux. I mean, what’s not to like? It is an open-source, freely available operating system that you can customize however you wish.

Hackers and pen-testers use Linux because it provides tons of open-source tools that they can use and change as they wish. In fact, there are distributions of Linux, like Kali and Parrot, that are designed specifically for pen-testing. It would therefore be wise to learn Linux if you want to benefit from all these advantages.

Websites like ryanstutorials or linuxjourney are good resources that can help you get started with Linux.

Programming languages

Learning a programming language will allow you to code your own tools and scripts. You can, for example, automate tasks like scanning for certain types of vulnerabilities, or you can code your own exploits.

If you do not know how to code, then you will be forced to use tools developed by other hackers and you won’t be able to modify them and adjust them to your needs. This will severely limit your possibilities.

If you’re new to programming, Python can be a good start. It is a powerful scripting tool. You would be surprised at what you can make using this simple language. It is also a very popular language, so you won’t have any problem finding the support you need from the Python community.

As a first step, you can watch the Python for Beginners course by Mosh on Youtube. After that, you can practice your coding skills on Hacker Rank.

2. Learn Ethical Hacking

Once you’re feeling confident you’ve mastered the fundamentals, you can start learning about hacking. But this is not as simple as it sounds.

Hacking is a very wide subject. It spans many fields. You can pursue only one or two specific fields or you can follow a rather general approach and take in the entire hacking spectrum.

A third option, one that I personally recommend, is to learn at first all domains at a high-level without diving too deep into each of them. This will provide you a general understanding which will allow you to choose one field that you might find yourself leaning toward. Then, once you’ve made up your mind, you can work your way to become more proficient in your chosen field.

I discuss here some of the fields that you can follow if you want to become an ethical hacker.

Web Application Security

Almost every organization has a presence on the web. Websites have become an essential thing to have for any organization that wants to attract customers, reach out to partners, or simply communicate with the public.

Securing web applications is therefore a priority for many organizations, especially those that rely on their web content to bring in revenue. A lot of these organizations are paying for hackers to perform penetration testing on their web applications in order to help secure them against malicious hackers.

Performing penetration testing on web applications demands a certain level of proficiency in web programming languages such as PHP and Javascript. You should be able to review the source code and scan it for vulnerabilities.

You should also learn about the most common web application vulnerabilities. The best source for this is The OWASP Top Ten.

After that, you can read the OWASP Web Security Testing Guide, which is considered by many to be the best reference for web application pen-testers.

Reverse Engineering

Reverse engineering is a powerful skill that you want to have under your belt. It allows you to understand the architecture and the inner design of a hardware or software system.

In the case of software, developers rely on reverse engineering tools to duplicate or add new functionalities to a product even if they do not have access to the source code. While this might not necessarily be illegal, attackers have found another, less honest way, to use them. They can reveal the inner design and expose vulnerabilities in the system, like ways to bypass controls or getting access to confidential information.

LiveOverflow is a great channel that provides good tutorials and videos about binary exploitation, cracking and software reverse engineering.

Network security

Networks are often the entry point for attackers that wish to gain access to a system. This is all the more true when the attacker has physical access to the target network, like for example through an accessible public Wi-Fi.

Securing a network is not an easy task. There is a large attack surface that presents a risk and so many things that can go wrong. For instance, you can have the most secure configuration on your network devices, but if your switch room is not as highly protected, then an attacker that manages to gain access to the room will easily compromise your network and make all your work pointless.

If you want to simulate how attackers might gain access to a network, you should learn how to look for these security weaknesses. Make sure to examine every facet of your target: Physical location of network devices, compromised endpoints, weak configurations, accessible wireless networks, and so on.

You can watch the Network Penetration Testing course by Heath Adams on Youtube. It is a full course that will help you make the first steps in network hacking.

Cryptography

Since ancient times, cryptography has been a tool used to protect communications between allies from intercepting enemies. For a long time, simple algorithms were enough. However, in recent decades, and with the fast-growing processing power of modern computers, we got used to newer algorithms being developed and then cracked years afterwards. This trend appears to be continuing for years to come, especially with the advent of quantum computing which will render most of the currently strong algorithms insecure.

I should note, however, that cracking current algorithms is not a task for us mere mortals. Secure algorithms like AES-256 are practically impossible to hack.

Still, while cracking the algorithm itself is not feasible, it is completely realistic to hack its implementation.

There is a 24-lecture series on Youtube by Christof Paar that I highly recommend if you are serious about learning cryptography.

Active Directory

Almost every company in the world uses Active Directory. It is the one tool that administrators use to manage permissions and access to network resources, and so you shouldn’t be surprised if I tell you that it represents a constant target for malicious hackers.

You should be knowledgeable of the vulnerabilities and weaknesses that exist in AD. You should also learn how they can be exploited so you can help secure them against attackers.

Adsecurity is a good website that provides great tips and attack methods related to active directory. Another resource is the “ Pen Testing Active Directory Environments “ by Varonis.

3. Practice

The only thing that can make you an ethical hacker is hacking. You can read every book ever written about this subject, but reading on its own does not make you skilled. Only experience does.

Fortunately, you do not have to break the law for you to practice hacking. There are a lot of sites and tools that provide real environments that you can legally hack into. I have selected here five tools that you can use to practice your hacking skills.

  • Overthewire is a website that provides hacking games ranging from easy to more difficult levels. You can start with the Bandit game and work your way up to more advanced games.
  • TryHackMe provides challenges for hackers with more focus on learning. It is a good opportunity to sharpen your skills and learn from real-world problems.
  • DVWA (Damn Vulnerable Web Application) is really just a vulnerable web application. It has four levels of difficulties, and for each level, you can apply your hacking skills to exploit the vulnerabilities it has.
  • Juice Shop is another vulnerable web application developed by OWASP. It has all the vulnerabilities listed in the OWASP Top Ten.
  • Hackthebox is a website that offers machines you can hack into. Before you are able to join the website, you should first prove yourself worthy by hacking into the signup page. Challenges in Hackthebox are harder than the ones existing on other platforms, so it would be best if you complete these first before you can move on to Hackthebox.

Many other similar platforms on the Internet offer interesting challenges and labs, and this list is just a small sample.

The one thing that you need to keep in mind is that you should never stop practicing. As soon as you stop, all the knowledge that you’ve gained, and the skills that you’ve mastered will start to fade. So keep practicing.

Conclusion

No matter how long it takes you or what path you take, you should always remember one truth: With great hacking skills comes great responsibility.

To be an ethical hacker means that you have taken upon yourself the burden of defending the cyber-space. People and organizations will come to you, and you should never abuse their trust. You should always act in a responsible, honest, and legal way. To become an ethical hacker requires you to first be ethical before you can be a hacker.

Originally published at https://patchthenet.com on January 1, 2021.

A cybersecurity enthusiast, and founder @ Patchthenet.com