My Book Recommendations
These are awesome books have really helped me in understanding the processes, methods, and mechanisms of vulnerabilities and exploits. Now, there’s no better way to learn than to do. Especially when it comes to red teaming the shit out of some machines. But…. It’s really REALLY helpful to truly understand what you are doing when you run an exploit. Or, better yet, to understand how a system works at it’s most granular level before exploiting it.
One of the hardest things, for me at least, is to comprehensively understand what I am truly doing when I compile C exploit, conducted a butter overflow, or finalize an ROP attack. For that, you need to understand so many different things but, in the context of a security engineer which honestly, is a hard thing to find. Usually, I end up with a book that a professor wrote to sound fancy which sure, is great in the context of academia but not so much when you want to learn without having to do mathematical proofs of RSA for god’s sake. So, I’ve purchased, probably way too many, books. I’ve read a bunch of them and am currently reading some as of right now. Here is my list of books that I find the most helpful overall.
HACKING – The Art of Exploitation ($37)
In my efforts to understand what I am looking at in Binary Ninja or GDB, and having attempted on several different accounts to understand x86 assembly, this books is the best I have found. That’s an understatement, it’s the book to understand the why and how an exploit works. I have read about 1/2 of the book so far and I am really enjoying it. Assembly is much less intimidating. The book teaches on the back of C which, is really nice. You will write a C program, compile it, run it, and debug it within GDB. You look at the assembly and pick apart the variable declarations, for loops, conditional operations, etc. Another plus for the book, it comes with a cd with an Ubuntu-ish distro that has all of the books source code and guess what, the code compiles and works!
The Hacker Playbook 2 ($12)
I really like this book because it makes you build before you break. The books has you build an environment with Active Directory, Windows, Linux, DVWA, Metasploitable, etc. You do a large amount of Sysadmin work before you start to hack it. Some of the best hackers / Security engineers I have worked with and met are those who were software engineers, network engineers, or System Administrators. It’s because they know their shit. They understand how systems work because they’ve built them. After you’ve built a suitable environment, it takes you through several different key penetration testing topics (information gathering, network enumeration, persistence, etc.) This book has helped me learn many of the basics and techniques I use.
The Web Application Hackers Handbook 2 ($30)
Anything web app pentesting, this is the book. Enough said. You need to read it.
Red Team Field Manual ($9) & Blue Team Field Manual ($13)
Both of these are awesome to have around during CTF events, Red Teaming, etc. As the titles already make clear, they’re for Red Team and Blue Teams. I reference these often for specialized scanning, Linux hardening, etc.
Crypto 101 ($0)
This is completely free and does not have much, or any, content in regards to penetration testing but, everyone should understand crypto. Like I said at the beginning of this post, you don’t have to do proofs of RSA to understand it and that where this free pdf comes in. It’s meant to be an in-depth look at crypto using normal nomenclature rather than fancy academic words. Its aim is to have you understand cryptography which is essential in this field.
That’s where I will leave it for now. You may be asking though, ‘Why no Python Books?’ Honestly, its because I have been extremely disappointed in every single Python book that has a security focus. Books like Gray Hat Python and Black Hat Python where a large majority of the code DOES NOT work and is built on the back of Python 2.7 are just so damn depressing. Python 3 has been out for nearly a decade! Also, just program with it, build tools, make cool crap and you will learn a ton more.
I’d love to hear your recommendations as well!