Step 1b (bonus): read Hacker News (it actually helped, it also really distracted, the latter part is why it's labeled as bonus)
Step 2: Complete Binary and Malware Analysis at the Vrije Universiteit
Step 3: Complete Computer and Network Security at the Vrije Universiteit
Step 4: Complete Hardware Security at the Vrije Universiteit
Step 4b (bonus, I mean, you're there now anyway): Complete Kernel Programming at the Vrije Universiteit
Step 5: Go to https://hackthebox.eu, hack at least 1 easy, 1 medium, 1 hard and -- for good measure -- 1 insane box
Congratulations, you are now a hacker in every sense of the word:
1. You broke into computer systems.
2. You needed to be curious in order to do it.
This took me 8 months, personally (60 hours per week). I found it a lot of fun. It could take you a lot less time or more time.
-----
I'm assuming you already know how to program, if you don't then get the following prerequisite knowledge.
Step 1: do CS50 in order to learn programming and learn how to learn programming languages. What I've seen in students is that the first 6 weeks are experienced as more difficult than the last 6 weeks (hint: it's because you start off with C). So don't get discouraged. If this is not you and it is the other way around, I've seen that too (though, I've seen it less. It depends on the default mode of thinking that a person uses).
Step 3: if you feel like this road is too rigid, do a project that you're interested in here. Get it out of your system now, because the above mentioned stuff took me 10 months, personally. Create a computer graphics engine with OpenGL and Java. Yes, you could do C++ but that's complicating things for now. If you really want to though, go ahead, C++ is a fine choice if you're burning with passion.
These 3 steps probably take between 4 to 8 months. Some people with a hacker mindset could do this within 2 months, or 1 month even (email me if you did!). Some people that have other stuff going on in their lives will do this in 8+ months. It's all fine.
So you read ESR's definition of hacker in step 1 but instead focus on what he called "cracker"[1] in step 2/3/4 (not 4b)/5? Either you misunderstood "hacker" or unintentionally gave a misleading example of learning...
No, I used both definitions. As you can clearly see I stated:
> Congratulations, you are now a hacker in every sense of the word:
> 1. You broke into computer systems.
> 2. You needed to be curious in order to do it.
There are multiple ways to get to 2. This is one of them. There are multiple ways to get to 1. This is one of them.
I simply leave it in the middle as to who gets to decide what the definition of a hacker is. I simply took both definitions that I know to be defined by hackers themselves (point 2) and the media/general public (point 1).
Subverting computer systems to let it do other things that you want is very very much a part of the definition of 2. Which is how breaking into computer systems and following your technical curiosity can overlap.
But I would totally agree with you that we'd live in a sad world if my path was the only way in which people became hackers.
Also note that Hacker News is on there as a bonus and if it wasn't as distracting as it is, then I'd put it there as mandatory. HN stimulates purely the curiosity part of hacking.
Serious Question, why is there such a heavy infatuation / prerequisite to running Linux to become a hacker?
Is it for folks who are focused on going below the application layer (working on OS/Kernal etc) or just general. I find my MacOS to be such a comfortable system to hack and wonder if I actually need to move to Linux natively to get more involved in projects below the application layer.
To quote the original guide (http://www.catb.org/~esr/faqs/hacker-howto.html#skills2) "Under Mac OS X it's possible, but only part of the system is open source — you're likely to hit a lot of walls, and you have to be careful not to develop the bad habit of depending on Apple's proprietary code."
I've enjoyed learning hacking skills by configuring GNU/Linux partially guided by an excellent MIT course by MacOS users (freely available at https://missing.csail.mit.edu/). On MacOS you can get a lot out of customizing your shell, text editor, terminal multiplexer, etc. with dotfiles. But I prefer a more completely free (libre/open) operating system because it doesn't stop there, I've patched and compiled my own custom window manager as well, and my entire operating system has the level of hackability that I love in the terminal. I guess all of the software I've mentioned is not below the application layer but above other applications (except for the most part the text editor).
>Step 2: Complete Binary and Malware Analysis at the Vrije Universiteit
>Step 3: Complete Computer and Network Security at the Vrije Universiteit
>Step 4: Complete Hardware Security at the Vrije Universiteit
Can you share the resources i.e. Books, Videos etc used in the above courses? Might be a good starting point for those who want to delve into the subjects.
No they're not. I also don't know any good alternatives. I mean, I've seen elements of it (especially of computer and network security) but it didn't feel the same.
I know it's the COVID season(s) but other than that: these courses cost 1200 euro's for non-EU students, I think. I'm relatively sure about the price (range: 1000 - 1500 euro's). I'm not sure if they allow contract students from the US.
No problem, just wondering. Glad to be made aware that there are high quality classes on these subjects. Maybe they'll move the coursework to a more online-friendly format soon, will have to keep an eye out.
Excellent list in general though, thanks for the contribution.
With this knowledge one can become a hacker. It's that simple. I've hacked into systems by using my curiosity and this background knowledge.
A hacker is defined as someone who's curious about technology. If you have this knowledge and apply your curiosity to understanding more of it, especially on how systems shouldn't behave but somehow do, then you're a hacker. An example of this type of hacking is creating Tetris in the game of life.
If you break into a computer system (legal or illegal), you're a hacker.
This knowledge helps you to both goals. It helps towards the broadest definition of what being a hacker is, no matter which person you talk to. There is of course the requirement that you're curious as well. But IMO if you're capable of successfully passing this, then you are curious and when given free reign, it'll be applied and you'll learn even more about computer systems.
It's not the only way, but it's one way of doing it. It's not the best way either, but it does answer the question: I want to become a hacker? How? Well, follow this path, tick off every box, notice the change within you and your thinking and voila. You're a hacker.
Obviosly, this is simply my opinion. Feel free to disagree. But I do view that it is that simple. Bear in mind that this path takes at least 2 years if you don't know how to program. So it's much easier said than done. It took me 8 years to get to this point (I studied a lot of other things).
Given that explanation, is there something you don't get? It's a genuine question.
My version on how to become a hacker. It's just another reference point.
Step 1: Go to http://www.catb.org/esr/faqs/hacker-howto.html
Step 1b (bonus): read Hacker News (it actually helped, it also really distracted, the latter part is why it's labeled as bonus)
Step 2: Complete Binary and Malware Analysis at the Vrije Universiteit
Step 3: Complete Computer and Network Security at the Vrije Universiteit
Step 4: Complete Hardware Security at the Vrije Universiteit
Step 4b (bonus, I mean, you're there now anyway): Complete Kernel Programming at the Vrije Universiteit
Step 5: Go to https://hackthebox.eu, hack at least 1 easy, 1 medium, 1 hard and -- for good measure -- 1 insane box
Congratulations, you are now a hacker in every sense of the word:
1. You broke into computer systems.
2. You needed to be curious in order to do it.
This took me 8 months, personally (60 hours per week). I found it a lot of fun. It could take you a lot less time or more time.
-----
I'm assuming you already know how to program, if you don't then get the following prerequisite knowledge.
Step 1: do CS50 in order to learn programming and learn how to learn programming languages. What I've seen in students is that the first 6 weeks are experienced as more difficult than the last 6 weeks (hint: it's because you start off with C). So don't get discouraged. If this is not you and it is the other way around, I've seen that too (though, I've seen it less. It depends on the default mode of thinking that a person uses).
Step 2: do https://www.nand2tetris.org/ to understand computer systems and get some assembly under your belt.
Step 3: if you feel like this road is too rigid, do a project that you're interested in here. Get it out of your system now, because the above mentioned stuff took me 10 months, personally. Create a computer graphics engine with OpenGL and Java. Yes, you could do C++ but that's complicating things for now. If you really want to though, go ahead, C++ is a fine choice if you're burning with passion.
These 3 steps probably take between 4 to 8 months. Some people with a hacker mindset could do this within 2 months, or 1 month even (email me if you did!). Some people that have other stuff going on in their lives will do this in 8+ months. It's all fine.