Our journey together starts today! This blog is to start you on the journey as a hacker.
This first blog is to give you a quick reference as to what to expect, where to look to learn on your own, what subjects you will need to understand. Hopefully you aren't overwhelmed by everything you read today; if you are, just know that the purpose of this blog is to break everything down into small steps, so don't think that you have to take it all in today.
Before I start let me say that there is more than one way to become a hacker, and not everything I list is absolutely necessary. But if you wish to be a completely polished hacker, you mustn't miss any steps. Only by studying each step thoroughly will you do this. Don't skip ahead, don't gloss over, study deeply and understand everything before moving on.
So without any further delay... Let us begin!!
- The hacker mindset
Simply put, a hacker has a thirst for knowledge and understanding. What's the difference? Knowledge is knowing something, facts and data. Understanding is comprehending how the facts and data fit together, what makes them work. To illustrate: knowledge is knowing the stove is hot. Understanding is knowing if you touch the stove you'll get burned. And wisdom is not touching the stove!
As with a hacker, knowledge is necessary and you'll constantly be taking it in, but understanding is a hackers most powerful tool, being able to see into a system a see how everything work, that's when your able to begin working with the system as you please. Finally wisdom comes with experience, being able to apply what you understand into action.
With this mindset you will be on your way to being a true hacker; without it you never will. Keep digging for knowledge. Yearn to understand everything, not just computers, everything in your life is a mystery. Make it a way of life. And don't reject new ideas until you prove them false.
2. Learn to program
This is the first step you take to being a hacker. Programming is the language of computers and you may have to learn more languages to communicate to different systems.
Think of it this way, the pure language of computers is byte code. 1's and 0's. But that's not easily read by humans, I only know a few actual commands in byte code and I've never used it. But just above that is "Assembly" (Google it and understand at least what it is). This is as close to the pure language as humans can get.
Now in order to comunicate more efficiently "high level languages" have made it easier to comunicate with computers. Taking 1 step away from from assembly we have the "C" language. This language sets just above assembly so you still can speak almost directly to the hardware. By taking that step away from byte code you lose some clarity but gain the ability to create code faster. (I strongly recommend learning this language it will help you understand what is going on under the hood)
Finally there are higher level languages such as "Python" and "Ruby" which are essential to hack in order to write scripts. These languages are used more than C, especially Python. More on that in the future.
If you want to hack you will also need to be able to speak the language of the Internet, and this is called HTML. If you would like to see what it looks like, right click the web page and the click "view page source". You should be taken to a page with the HTML source code for this page.
Concluding with programming you should at least learn (preferably in this order):
- HTML
- Python or Ruby (Python is more popular)
Learning to program takes everyone different lengths of time, we all learn at different speeds. But as a rule of thumb it takes 5 years to really understand the ins and out of a language. So take your time, master this before moving on! You never want a superficial knowledge of anything, especially programming.
3. Learn Networking
Now your ready to learn networking. This is how computers talk with one another. The way a computer thinks is what you learned in programming, now your learning how they interact.
The Internet is full of routers, servers, IOT, ect. You could spend a lifetime studying all of them. On this blog we will work our way through as much as we can to give you a basic knowledge of what's out there.
We will limit our discussion on networking today since you aren't ready for networking at this point.
4. Get to know operating systems
This may be a surprise to some... There's more out there than Windows! The world has become more aware of Linux more recently I believe but still so many are hesitant to use it.
This is something you can do while learning to program. Go download a free Linux OS and start using it. Some nice distros (distributions are different flavors, or brands you could say, of Linux) to start with include:
- Ubuntu
- Fedora (personally I like this one)
- Linux mint
- Kali (most common/powerful but that's an opinion)
- Backtrack (most tools)
- Blackbox (personally not impressed but need to learn more about it)
- Tails (more about anonymity than hacking but I love it)
5. Learn hacking techniques
This is the finale step, now that you understand how everything works, your ready to learn what doesn't work right. That's what hacking (as you think of it, actually called exploiting) is, finding a weak spot and forcing your way through.
Some things for you to research to get a sneak peek is:
- Buffer overflow
- Stack overflow
- Sql injection
- XSS (cross site scripting)
- Cryptography
Conclusion
Hackers have a thirst for knowledge, if you have that mindset then keep reading this blog. I won't always give you the answer but I will send you down the right path to find it. I will teach you how to figure things out for yourself, which will be your most important weapon.
Final comments
Here are some final tips to get better faster:
- Associate with hackers as much as you can, they sometimes are jerks... Stay away from those.
- Only ask questions after you tried to figure it out, people will be nicer.
- Share what you learn no matter how simple
- Put what you learn into practice immediately
http://learncodethehardway.org
Please feel free to comment with questions, corrections, or additional information for other readers. (My grammar is horrible!) Thanks for reading!
**this comes from my blog at
thehackerjourney.wordpress.com **
Keep up the great work @thehackerjourney
Upvoted