In order to become the real hacker, you simply have to read and understand these books. I will regularly add books to this list. If you think you know a book that should be in this list, feel free to add it in the comments below. Don’t believe that someone at age of ten cracked NASA or something like that, it’s simply impossible in professional way. Real hacker should know ten times more than any professional know and read ten times more then any professional read. And one more interesting thing, real hackers don’t crack anything, they work on opensource projects. Free opensource software rules!
Programming languages
Without strong knowledge of programming languages you can not be a real hacker, especially you should know C and C++, all operating systems are written in C. That is why the first books should be devoted to programming languages. Also for finding front-end vulnerabilities in browser you must to know JavaScript.
- The C Programming Language by Brian Kernighan and Dennis Ritchie (he created the C programming language and, with long-time colleague Ken Thompson, the Unix operating system)
- Bjarne Stroustrup (inventor of C++): The C++ Programming Language
- Mark Lutz – Learning Python
- Eloquent JavaScript by Marijn Haverbeke
- Assembly Language Step-by-Step: Programming with Linux by Jeff Duntemann
Shellcoding
- Shellcoding for Linux and Windows Tutorial by Steve Hanna
- The Shellcoder’s Handbook by Jack Koziol
- Hacking – The Art of Exploitation by Jon Erickson
- “Understanding Windows Shellcode” by nologin.org
Disassembling
- Chris Eagle – IDA Pro Book, 2nd Edition
Fuzzing
- Fuzzing: Brute Force Vulnerability Discovery by Michael Sutton
Operating systems
- Russinovich, Solomon – Windows Internals
- Mark Russinovich’s blog
- Andrew Tanenbaum – Structured Computer Organization
- Jeffrey Richter – Advanced Windows
- Books, articles, and blog of Kris Kasperski
- Blog of Dmitry Oleksiuk
- Understanding the Linux Kernel by Daniel P. Bovet, Marco Cesati
Penetration
- Kennedy D., O’Gorman J., Kearns D., Aharoni M. – Metasploit. The Penetration Tester’s Guide
Network
- Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning by Gordon Fyodor Lyon
- Getting started with hping3. Hping is a free packet generator and analyzer for the TCP/IP protocol distributed by Salvatore Sanfilippo (also known as Antirez). Nmap is a powerful tool, but professional should be able to do almost everything manually, especially in extraordinary situation.
- Beej’s Guide to Network Programming Using Internet Sockets
Cryptography
Websites
- https://developer.chrome.com/devtools/docs/network – The Network panel guide about each network operation in any website or application, including detailed timing data, HTTP request and response headers, cookies, WebSocket data, and more
Intrusion detection systems
It does not matter whether you want to crack or to protect the system, a good knowledge of IDSs, will be a huge advantage.
- All the documents for learning Snort
- Some Tripwire resources
Antivirus engines
Excellent knowledge of anti-virus software will help both white and black hats.
- The ClamAV Manual complete documentation and the ClamAV source code