1

How to Become a Hacker in a Year

 2 years ago
source link: https://dev.to/dotonion/how-to-become-a-hacker-in-a-year-5h67
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

There is so much potential in hacking. You can keep learning forever and never get bored or keep doing the same thing over and over while earning some nice rewards. So how do you become a hacker? Where should you start? What steps do you need to take and what should you avoid? In this article, I'll do my best to answer these questions - but first, let's break down what a hacker is so we know what we're working towards.

What is hacker?

I think that every hacker is unique and has their own skillset, so let’s avoid giving some cookie-cutter definition and instead focus on the attributes that make a good hacker.

They are creative

As a hacker, you will find many new problems, but not many answers. This is both a blessing and a curse. A curse because you won't always have someone to help you find the answers, but a blessing because you'll have the chance to leave some marks with a little out-of-the-box thinking. That means you're going to need a lot of creative thinking. And that creativity is needed in all aspects of hacking, from bug bounties to penetration testing to malware analyst, every hacker needs to be as creative as a graphic designer.

Love of problem solving

As a hacker, I think one of my defining aspects is my need to solve puzzles. It's an itch I have to scratch - but it didn't start out that way. As humans, we try to relieve the boredom in our lives with constant entertainment or simply moving from one task to the next. But in doing so, we neglect a small but powerful aspect of the human spirit. I found that when I didn't avoid or neglect my boredom, I began to see problems that others had trouble seeing. I began to see puzzles and solutions simply because I did not avoid this state of mind. Over time, I learned to enjoy the process of discovering new puzzles (and solving them), even if they were discovered during a boring task. Embrace the boredom!

Fights against the existing order

This topic may sound like all hackers are pure anarchists who love to fight the government, but that's not what I'm talking about. A long time ago I read this statement, "Trust, but verify" - and it has stuck with me ever since. I don't like being told that something works a certain way just because it's known to work that way. When you question things, you tend to find weaknesses that others have overlooked or simply not considered. You should question everything, even me! That was my mentality when I started hacking, and that's what led to me discovering things I never thought possible, all because I chose to ignore my gut feeling about how a system works.

Is very competent

Hacking is more than running a script and calling it a day. Our craft requires a lot of passion, even for the things we don't care about. Hacking is a symphony of several fields of knowledge playing a beautiful song, but to know what to play as a whole, we need to know how to play each instrument very well. It's a niche, and while I believe there is training for it, I also believe there are some aspects that you need to master but just can't study. That means that at some point you have to dive in and pursue that thirst for knowledge on your own. That's what makes hackers some of the most multidisciplinary and capable types of people I've met.

General steps

Cool, now that you know what the attributes of great hackers are, let's determine what skills you'll need. Hackers, like scientists, come in many different types. And while the topic of focus may change, they all share some basic skills. Here are the basic skills a hacker needs to master:

  1. ### learn how to program (use some free resources?). This part is essential. It's not so much about the actual programming languages, but more about understanding programming concepts. If you can understand how something was designed, then you know where the weak spots are. I've put the following languages in the order I think you should learn them first to last - I'll explain a bit why I think these are so important.

    • HTML (and possibly CSS): while not directly applicable to hacking, it will teach you the basics of what the web is built on, and it's a great introductory language for those who want to quickly create something visible with a large margin of error. A great addition would be CSS to make those web pages shine!
    • PHP: With PHP, you can transform your web applications from boring, static websites into fancy, backend-driven workhorses. You will be able to create useful applications to store data and much more. The downside of this language is that it allows some things that more strict languages like ASPX don't. But the fact that you'll be able to easily deploy a PHP application and have a slightly larger fault tolerance is a big plus.
    • Python: Python is a generalist language that any hacker can use to quickly whip up a script. Python is cross-platform, which means it will run on any operating system that supports it, but unlike other, bulkier languages like Java, you can run it much faster. It's also less strict on end users, forcing them to make their code clean and readable through its design.
  2. ### learn how to run and use Linux This may seem daunting at first, especially if you're not used to using anything other than Windows. Well, get over that fear because Linux is pretty essential for hacking as many of the popular tools are built on Unix-based systems, so many hackers stick with Unix because of its open nature and adaptability. You can also hack on a Windows system, it will just be a bit more difficult in the beginning since most tutorials and popular tools are written for Unix.
  3. ### learn the basics of networking It's really important to know what's going on in a network. You need to learn how packets are sent from one computer to another, because eventually you will need to learn how to interpret and carefully analyse that traffic. So it really pays to start early with this skill. I would highly recommend starting with the basics, like learning how to set up your own wireless network at home. This can go beyond the basics as well. You don't have to limit yourself to installing a wireless access point, you can also play with things like firewall settings and port forwarding. Once you're comfortable with that, start analysing other networks.
  4. ### read some articles about hacking Whatever image of hacking you have in your head, chances are it's wrong because of pop culture. We've grown up with the idea that hacking is like pounding on a keyboard. So to find the connexion between what you've practised yourself and what's real, it helps to read about real hackers to see how their techniques have been applied in the real world. Don't be discouraged by the complexity, though. Things won't make much sense at first, but as you read more, you'll find that you'll start to understand things you didn't before. Now that we've covered a lot of the basics, it's time to take a closer look at choosing a specialisation. As I mentioned earlier, there are many aspects to hacking and I don't think one should preclude the other, but it's good to start somewhere.

Choose a specialisation

It may seem that the choice you make now is final, but nothing could be further from the truth. All of the options below are just an entry point into a very fluid field that allows us to interact with and learn things from other disciplines. I keep comparing hacking to science and I think my comparison keeps proving valid. Just like in science, we end up having to know things from many disciplines to become a better hacker.

Web application hacking

Web application hacking may seem like a narrow field but it can lead to many options. You can either try your luck and skill level against other hackers in bug bounty hunting or we can go into more stable jobs such as penetration testing. The cool thing about web application hacking is that it will also allow us to go into either very functional exploits such as business logic flaws and very technical ones such as insecure deserilisation plus anything in between.

Network Hacking

Network hacking is very technical, if you pursue this specialization you could become a penetration tester or Systems Operation Center Management - basically taking responsibility for a network to secure, manage and respond to incidents. To get there, you'll need to focus on networking, with basic certifications like Cisco's CCNA helping to solidify knowledge, albeit with less focus on security and more on general networking knowledge. As a security-conscious hacker, you can try sites like hack-the-box and vulnhub, which allow us to practice our hacking skills and then aim for security certifications like eJPT and OSCP.

Malware Analysis

Malware analysis can be a little more daunting, but the rewards are much greater. Hackers can look forward to a more specialised job where learning will play a central role. To get here, we need to focus more on static code analysis and application decompilation.

Conclusion

Having said all that, I hope I was able to give you some insight into what hacking is and what it takes to become a hacker. It will certainly take some time, but with dedication and hard work, you can get a foothold in this field. It's never too late to start, and it might take a while, but if you take a step every day, you can become a hacker in a year.

Resource


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK