Zero to Hero Hacking
This repository is a comprehensive guide to computer hacking featuring CTF writeups as well as general information and tutorials for common tools, techniques, protocols, and the like. This repository is maintained by Shawn Duong and is a "live" repository, meaning that it will be continually updated. If an article is out of date then please submit an issue and it will be resolved.
Overview
This repository is split into a couple of different directories:
Directory | Description |
---|---|
basics | Learn the basics of computer hacking. |
binex | Binary exploitation articles. |
crypto | Cryptography articles. |
forensics | Digital forensics articles. |
linux | Linux articles. |
malware | Malware articles. |
misc | Miscellaneous articles. |
network | Networking articles. |
opsec | Operations security articles. |
osint | Open-source intelligence articles. |
re | Reverse engineering articles. |
webex | Web exploitation articles. |
writeups | Read up on CTF writeups. |
Prerequisites
In order to dive into computer hacking, it is recommended that you are already well acquainted with at least one programming language! For many, Python is the obvious choice as it allows for rapid scripting and exploit development. Once you know one programming language, it becomes much easier to learn others.
Critical languages:
- C/C++ for lower-level programming.
- Python for higher-level programming.
Other recommended languages:
- Bash for shell scripting.
- Intel x86 Assembly for reverse engineering.
Starting Point
For beginners, it is recommended that you start at the basics and then read up on some CTF writeups.
As a beginner, it's very easy to get intimidated! Remember that many of us in the field were in your shoes at one point, and we all know what it's like to be a beginner. Trust in yourself, keep learning, and never stop learning. More than anything else, "hacking" is a mindset that embraces a journey of never-ending learning and critical thinking.
About the Author
My name is Shawn Duong and I actively maintain this project. I've been hacking since 2015 and capturing flags since 2017. In 2018 I founded Team IrisCS and in 2020 I joined ACM UC Merced's premier CTF team. I'm a student at the University of California, Merced majoring in Computer Science and Engineering and currently employed by the UC's IT Network and Extension departments. I am expected to receive my Bachelor of Science by 2023. My specializations are digital forensics and systems exploitation.
I am reachable via GitHub for regular correspondences or via email for urgent correspondences. Both of these can be found here. I will typically respond within 7 days at most, often times much earlier. Any and all concerns related to this project should first and foremost consider being filed as an issue.
About Contributing
There are a variety of ways that you can contribute to this project. If you would like to write articles, submit proofreads and/or revisions, or contribute in some other direct manner, please follow this guide. If you would like to contribute indirectly by notifying me of proofreads, outdated methods and techniques, broken links, etc. then please submit an issue and it will be resolved.