1. Networking Fundamentals
Understanding how networks work is essential for identifying vulnerabilities in systems that communicate over them.
- What to Know:
- TCP/IP: How data packets travel (e.g., IP addresses, ports like 80 for HTTP).
- DNS: How domain names (e.g., google.com) resolve to IP addresses.
- Common Protocols: HTTP, HTTPS, FTP, SSH, and their ports.
- Tools: Use nmap to scan for open ports or Wireshark to sniff network traffic.
- Why It Matters: Many attacks (e.g., man-in-the-middle) exploit network weaknesses.
- Practice: Scan your home network with nmap -v 192.168.1.0/24 to find devices (with permission!).
2. Computer Architecture Basics
You’ve already started learning this—knowing how CPUs, memory, storage, and I/O work helps you understand what you’re hacking.
- What to Know:
- CPU: Executes instructions—vulnerabilities like Spectre exploit CPU flaws.
- Memory: Buffer overflows overwrite RAM to inject code.
- Storage: Malware hides in storage; you might need to recover deleted files.
- I/O: USB attacks (e.g., Rubber Ducky) exploit input devices.
- Why It Matters: You’ll exploit or defend these components (e.g., finding malware in RAM).
- Practice: Use lscpu and free -h on Linux to check your CPU and RAM details.
3. Operating Systems (Especially Linux)
Linux is the go-to OS for hackers because of its flexibility and tools.
- What to Know:
- Commands: ls, cd, cat, grep, chmod for file permissions.
- File System: Understand /etc, /var, /root directories.
- Kali Linux: A distro packed with hacking tools (e.g., Metasploit, Burp Suite).
- Why It Matters: Most servers run Linux, and you’ll use it for pen testing.
- Practice: Install Kali Linux in a virtual machine (VirtualBox) and run whoami to see your user.
4. Encryption and Cryptography
We’ve covered AES in detail—it’s critical to understand encryption to secure data or spot weak implementations.
- What to Know:
- Symmetric (AES): One key for encryption/decryption (e.g., AES-128 uses 10 rounds).
- Asymmetric (RSA): Public/private keys for secure communication.
- Hashing: MD5, SHA-256 for integrity (not encryption).
- Weaknesses: Look for short keys, reused IVs, or outdated algorithms (e.g., DES).
- Why It Matters: Black hats exploit bad encryption (e.g., cracking weak passwords).
- Practice: Encrypt a file with AES using Python (see the code we discussed earlier).
5. Programming Skills
You’ve already started with Python—programming is a must for writing tools, automating tasks, and understanding exploits.
- What to Know:
- Python: Great for scripting (e.g., password guesser, web scraper we wrote).
- C: For low-level exploits (e.g., buffer overflows).
- JavaScript: To exploit web vulnerabilities (e.g., XSS).
- Bash: Automate tasks on Linux (e.g., for loops to scan IPs).
- Why It Matters: You’ll write custom tools or analyze malware.
- Practice: Modify the Python password guesser to read from a file (with open(“passwords.txt”, “r”)).
6. Web Application Security
Most modern attacks target web apps, so you need to know how they work and where they’re vulnerable.
- What to Know:
- Common Attacks:
- SQL Injection: Injecting malicious SQL queries (e.g., 1 OR 1=1).
- XSS (Cross-Site Scripting): Injecting scripts into web pages.
- CSRF: Tricking users into unwanted actions.
- Tools: Burp Suite for intercepting HTTP requests, OWASP ZAP for scanning.
- Common Attacks:
- Why It Matters: Banks, e-commerce, and apps are prime targets.
- Practice: Set up a vulnerable web app (e.g., DVWA) and try a basic SQL injection.
7. Vulnerability Scanning and Exploitation
You need to find and test vulnerabilities systematically.
- What to Know:
- Scanning Tools:
- Nmap: Find open ports and services.
- Nessus/OpenVAS: Scan for known vulnerabilities.
- Exploitation:
- Metasploit: Framework to test exploits.
- Manual Exploits: Write your own (e.g., buffer overflow in C).
- Scanning Tools:
- Why It Matters: You’ll help companies fix holes before black hats find them.
- Practice: Use nmap -sV 192.168.1.1 to identify services on your router (with permission).
8. Social Engineering Defense
Not all attacks are technical—people are often the weakest link.
- What to Know:
- Phishing: Fake emails to steal credentials.
- Pretexting: Creating a fake scenario to trick someone.
- Defense: Educate users (e.g., spot suspicious links, use 2FA).
- Why It Matters: 90% of breaches start with a human error (e.g., clicking a bad link).
- Practice: Create a fake (harmless) phishing email and test if a friend spots it (with their consent).
9. Legal and Ethical Boundaries
Ethical hacking means staying within the law and respecting boundaries.
- What to Know:
- Permission: Always get written consent (e.g., for pen testing).
- Laws: Know the Computer Fraud and Abuse Act (CFAA) or local laws in Hong Kong (e.g., Computer Crimes Ordinance).
- Bug Bounties: Programs like HackerOne let you hack legally for rewards.
- Why It Matters: Crossing the line makes you a black hat—jail time isn’t worth it.
- Practice: Join a bug bounty program (e.g., Bugcrowd) and read their rules.
10. Continuous Learning and Community
Cybersecurity evolves fast—you need to stay updated and connected.
- What to Know:
- Resources: Follow blogs (Krebs on Security), X accounts (@thegrugq), or podcasts (Darknet Diaries).
- CTFs: Capture The Flag events (e.g., TryHackMe, Hack The Box) to practice.
- Certifications: Start with CompTIA Security+, aim for CEH or OSCP.
- Why It Matters: New vulnerabilities (e.g., Log4j) pop up constantly.
- Practice: Solve a beginner CTF on TryHackMe and share your progress with me!