Keep getting asked this question: How do I become an Ethical Hacker?
So, here is a Wall Of Text™ that I can refer those that ask to.
Do this:
-
Learn a programming language. Doesn’t matter which one. Python, JavaScript, Perl… again, doesn’t matter.
-
Learn Networking. How subnetting works, how DHCP works. How static IP addressing works. Ports, protocols, servers. HTTP/SSH/FTP are good ones to start with, know them all.
-
Learn another programming language. Pick one you didn’t pick before.
-
Learn tooling. Linux, various package managers, how Linux differs from Windows and Mac OS. Learn what is different from distro to distro. Break things, fix things, without help.
-
Learn another programming language. Pick something obscure, like Cobol, C or something that DOESN’T interest you.
-
Learn the software stack, the network stack, how libraries interact with APIs, and common API implementations while you are at it. RESTful APIs are important.
-
Learn encryption. History, algorithms, how it has broken over the years, how it has been fixed. Generate and host a public PGP key somewhere, know how to use it.
-
Learn another programming language (see a trend here?). This time something you love, combining multiple technologies together. Write software, bug hunt in open source projects, get to know the community, become an active participant.
Then:
Talk to me when you have done this.