Hack Forums
Plan for learning, could use some advice.. - Printable Version

+- Hack Forums (https://hackforums.net)
+-- Forum: Hacks, Exploits, and Various Discussions (https://hackforums.net/forumdisplay.php?fid=45)
+--- Forum: Grayhat • Purple Team • Hybrid Security (https://hackforums.net/forumdisplay.php?fid=449)
+---- Forum: Beginner Hacking (https://hackforums.net/forumdisplay.php?fid=4)
+---- Thread: Plan for learning, could use some advice.. (/showthread.php?tid=5577724)



Plan for learning, could use some advice.. - Red_Schuhart - Mar 17, 2017

For quite some time I am thinking about starting to learn computer science and hacking from the ground up.. I googled a few hours, found dozen of books I should read and I'm ready to start learning but I would like to hear advice from older and more experienced people.. 🙂

I would start with Linux and C. Read few books about bash scripting, about how linux kernel works, etc, books like Linux Command Line [William E. Shotts], How Linux Works [Brian Ward] and perhaps few other books before starting Linux from Scratch.. Parralel to that, I'd learn from Learn C The Hard way [Zed A. Shaw], The C Programming Language [K&R], and start reversing my code with Reverse Engineering for Begginers [beginners.re].

After that, I'd start learning about networks, network protocols, learn python, read few books like Hacking: The art of Exploatation[Jon Erickson], definitely some book about PC architecture, etc..

What's your advice, is there anything I should start learning earlier? Your opinion is appreciated! 🤝


* - Davian - Mar 17, 2017

You are definitely on the right path. Personally, I started with Python, then networking and now i'm learning linux.
Just keep reading books and being motivated, you'll eventually become advanced.
Good luck brotha.


* - Nomad.Null - Mar 17, 2017

Agreed, you are definitely starting the right way. You are choosing the markedly more difficult route, but it is the right one. I began with windows exploitation and web injection vulnerabilities as a teenager and didn't actually learn about Linux or its advantages until I started my career in security. By starting in Linux you are going to be committing to a much steeper learning curve, especially when you start with C programming. I actually also recommend learning python alongside BASH scripting. Honestly, python is a much easier, readable scripting language than BASH, plus it has a lot of functionality that you won't get out of BASH.

Anyhow, I would actually recommend you read Hacking: The Art of Exploitation before you read Dennis Yurichev's Reverse Engineering for beginners. Reverse engineering has a very steep learning curve and will take you a LONG time to digest everything. Exploitation by comparison is much more straight-forward, and having learned C already, you will be able to understand the book much better. Hacking: The Art of Exploitation has a very gentle introduction to x86 Assembler, and truth be told, you don't need to be able to write code or reverse engineer assembler in order to be a good exploit developer. It certainly helps, but as I said, you will spend a long time learning reverse engineering, so in my opinion, learning exploitation before you learn reverse engineering will be a more gentle approach to it, plus it should provide you some motivation as well.

I've read Jon Erickson's book, and it's a phenomenal read. You don't have to be an expert in C programming in order to understand it, but it will help. The one caveat is that Art of Exploitation is strictly focused on Linux exploitation. If you want to learn about windows exploitation, I recommend the Corelan blog at https://www.corelan.be/

Me recommended syllabus for you to follow:

Linux command line and configuration
Linux Bash scripting and python (together is better 🤝)
Learn C the Hard Way and/or C Programming for Beginners
Linux kernel
Art of Exploitation
Corelan Blog
Get better with python and learn the advanced libraries, it will be helpful, I promise
Save Reverse Engineering for last. It takes a long time to get good at. Years, in fact.


* - Red_Schuhart - Mar 18, 2017

(Mar 17, 2017 04:56 PM)rayjo Wrote:  You are definitely on the right path. Personally, I started with Python, then networking and now i'm learning linux.
Just keep reading books and being motivated, you'll eventually become advanced.
Good luck brotha.
Thank you Sir. 🙂

(Mar 17, 2017 10:35 PM)True Demon Wrote:  Agreed, you are definitely starting the right way. You are choosing the markedly more difficult route, but it is the right one. I began with windows exploitation and web injection vulnerabilities as a teenager and didn't actually learn about Linux or its advantages until I started my career in security. By starting in Linux you are going to be committing to a much steeper learning curve, especially when you start with C programming. I actually also recommend learning python alongside BASH scripting. Honestly, python is a much easier, readable scripting language than BASH, plus it has a lot of functionality that you won't get out of BASH.

Anyhow, I would actually recommend you read Hacking: The Art of Exploitation before you read Dennis Yurichev's Reverse Engineering for beginners. Reverse engineering has a very steep learning curve and will take you a LONG time to digest everything. Exploitation by comparison is much more straight-forward, and having learned C already, you will be able to understand the book much better. Hacking: The Art of Exploitation has a very gentle introduction to x86 Assembler, and truth be told, you don't need to be able to write code or reverse engineer assembler in order to be a good exploit developer. It certainly helps, but as I said, you will spend a long time learning reverse engineering, so in my opinion, learning exploitation before you learn reverse engineering will be a more gentle approach to it, plus it should provide you some motivation as well.

I've read Jon Erickson's book, and it's a phenomenal read. You don't have to be an expert in C programming in order to understand it, but it will help. The one caveat is that Art of Exploitation is strictly focused on Linux exploitation. If you want to learn about windows exploitation, I recommend the Corelan blog at corelan.be

Me recommended syllabus for you to follow:

Linux command line and configuration
Linux Bash scripting and python (together is better 🤝)
Learn C the Hard Way and/or C Programming for Beginners
Linux kernel
Art of Exploitation
Corelan Blog
Get better with python and learn the advanced libraries, it will be helpful, I promise
Save Reverse Engineering for last. It takes a long time to get good at. Years, in fact.

Whoa! I didn't expect this kind of feedback. Thank you for your advice, didn't know about the blog, and your path of learning makes more sense ( I understood your advice about the Reverse Engineering for Begginers immediately, I forgot that it has 1000+ pages of highly technical text, so it makes sense to start last with it). I already started to play and learn with linux command line, so thank you Sir, your guidance was really helpful 👍


* - Nomad.Null - Mar 18, 2017

(Mar 18, 2017 01:39 AM)Red_Schuhart Wrote:  Thank you Sir. 🙂


Whoa! I didn't expect this kind of feedback. Thank you for your advice, didn't know about the blog, and your path of learning makes more sense ( I understood your advice about the Reverse Engineering for Begginers immediately, I forgot that it has 1000+ pages of highly technical text, so it makes sense to start last with it). I already started to play and learn with linux command line, so thank you Sir, your guidance was really helpful 👍

No problem. I also wrote a book on beginner pentesting techniques and terminology, as well as described the ethics behind becoming a penetration tester. It's not nearly as technical or involved as what you are trying to learn, but much of the advice I just gave you is detailed in the book. If you or anyone you know needs more guidance on where to go and what to learn to follow the same path you are going on, that book could be very helpful. There is a free copy in my signature. I would be very grateful if you passed it on to people you know who are looking to follow the same steps you are taking. 🤝

Good luck to you.