A complete, beginner-to-advanced cybersecurity curriculum - built in public, one day at a time.
by Sudeep Ravichandran - MS Cybersecurity @ Indiana University Bloomington
This repository documents my 100-day public learning challenge in cybersecurity.
Every day has:
- π A concept explained from scratch - no assumed knowledge
- π» Working code, scripts, or tool walkthroughs (most days)
- π A LinkedIn post where I share what I learned
The curriculum is structured to take anyone from zero cybersecurity knowledge to job-ready skills across offensive security, cloud security, and AI-driven detection.
If you're a complete beginner - start at Day 1. Every concept is introduced before it's used.
If you have some experience - jump to the phase that matches your level.
Phase 1 β Foundations β Days 001 β 020 β Networking, Linux, Cryptography
Phase 2 β Offensive Security β Days 021 β 045 β Pen Testing, Web Attacks, Exploitation
Phase 3 β Defensive Security β Days 046 β 065 β SIEM, Detection Engineering, IR
Phase 4 β Cloud Security β Days 066 β 080 β AWS/Azure, Cloud Attacks & Auditing
Phase 5 β AI Γ Security β Days 081 β 095 β ML for Detection, LLM Security
Phase 6 β Portfolio Sprint β Days 096 β 100 β Capstone Projects, Interview Prep
Build the mental model first. You can't secure or hack what you don't understand.
| Day | Topic | Code / Lab | Post |
|---|---|---|---|
| 001 | The CIA Triad: Foundation of Everything | - | π |
| 002 | How the Internet Works: TCP/IP Deep Dive | packet_analyzer.py | π |
| 003 | The OSI Model: Why Every Layer Matters to Attackers | - | π |
| 004 | DNS: The Protocol Hackers Love to Abuse | dns_enum.py | π |
| 005 | Firewalls & What They Can't Stop | - | π |
| 006 | Linux for Security: Commands That Actually Matter | linux_cheatsheet.sh | π |
| 007 | File Permissions & Why Misconfigs Get People Fired | perm_audit.sh | π |
| 008 | Cryptography 101: Symmetric vs Asymmetric | crypto_basics.py | π |
| 009 | Hashing: How Passwords Are (and Shouldn't Be) Stored | hash_demo.py | π |
| 010 | PKI & Certificates: How HTTPS Actually Works | - | π |
| 011 | Authentication vs Authorization: Not the Same Thing | - | π |
| 012 | VPNs, Proxies, and Tor: Anonymity Explained | - | π |
| 013 | Nmap: Your First Recon Tool | nmap_basics.sh | π |
| 014 | Wireshark: Reading Network Traffic Like a Pro | analysis_notes.md | π |
| 015 | Common Attack Types: A Threat Taxonomy | - | π |
| 016 | Social Engineering: The Human Vulnerability | - | π |
| 017 | OWASP Top 10: The Web Hacker's Bible | - | π |
| 018 | CVEs & the Vulnerability Lifecycle | cve_lookup.py | π |
| 019 | Setting Up a Free Home Lab (Legal & Safe) | lab_setup.md | π |
| 020 | Phase 1 Recap + First CTF Attempt | ctf_writeup.md | π |
Think like an attacker. Ethical hacking, web app exploitation, and pen testing methodology.
| Day | Topic | Code / Lab | Post |
|---|---|---|---|
| 021 | Penetration Testing Methodology (PTES) | - | π |
| 022 | Passive Recon: OSINT & Footprinting | osint_toolkit.py | π |
| 023 | Active Recon: Banner Grabbing & Enumeration | recon_enum.py | π |
| 024 | Vulnerability Scanning with OpenVAS | - | π |
| 025 | Metasploit Framework: Basics | msf_workflow.md | π |
| 026 | SQL Injection: From Theory to Exploitation | sqli_demo.py | π |
| 027 | XSS: Stored, Reflected, and DOM-Based | xss_payloads.md | π |
| 028 | CSRF, IDOR, and Broken Access Control | csrf_idor_demo.py | π |
| 029 | Burp Suite: Web App Proxy Masterclass | burp_workflow.md | π |
| 030 | Authentication Attacks: Brute Force & Credential Stuffing | auth_attack_demo.py | π |
| 031 | API Hacking: Vulnerabilities in REST APIs | api_recon.py | π |
| 032 | Server-Side Request Forgery (SSRF) | - | π |
| 033 | File Upload Vulnerabilities & Bypasses | - | π |
| 034 | Command Injection & OS Execution | - | π |
| 035 | Privilege Escalation: Linux (GTFOBins & SUID) | privesc_check.sh | π |
| 036 | Privilege Escalation: Windows | win_privesc.md | π |
| 037 | Password Cracking: Hashcat & John the Ripper | crack_guide.py | π |
| 038 | Wireless Security: WPA2 Attacks & Defenses | - | π |
| 039 | Post-Exploitation: What Happens After a Shell | - | π |
| 040 | Writing a Professional Pen Test Report | pentest_report_template.py | π |
| 041 | CTF Writeup: HackTheBox (Easy Machine) | - | π |
| 042 | CTF Writeup: TryHackMe Room | - | π |
| 043 | Building a Subdomain Scanner from Scratch | subdomain_scanner.py | π |
| 044 | OWASP Juice Shop: Full Walkthrough | - | π |
| 045 | Phase 2 Capstone: Full Pen Test on Lab VM | - | π |
The blue team. SIEM, threat hunting, log analysis, and incident response.
| Day | Topic | Code / Lab | Post |
|---|---|---|---|
| 046 | Blue Team vs Red Team: How Detection Engineering Works | - | π |
| 047 | Log Analysis: What to Look For and Why | log_parser.py | π |
| 048 | Splunk: Searching, SPL Queries & Dashboards | splunk_queries.md | π |
| 049 | SIEM Architecture: How It All Fits Together | - | π |
| 050 | Writing Detection Rules: Sigma & YARA | detection_rules/ | π |
| 051 | MITRE ATT&CK: A Defender's Map | attack_mapper.py | π |
| 052 | Threat Intelligence: IOCs, TTPs & Feeds | ioc_enricher.py | π |
| 053 | Network Traffic Analysis: Spotting Anomalies | traffic_baseline.py | π |
| 054 | UEBA: User and Entity Behavior Analytics | ueba_demo.py | π |
| 055 | Incident Response: The 6-Phase Process | - | π |
| 056 | Digital Forensics: Disk & Memory Analysis | - | π |
| 057 | Malware Analysis 101: Static vs Dynamic | - | π |
| 058 | IDS/IPS: Writing Snort Rules | snort_rules.md | π |
| 059 | Threat Hunting: Proactive Detection | - | π |
| 060 | Ransomware: How It Works & How to Detect It | - | π |
| 061 | SOC Analyst Workflow: A Day in the Life | - | π |
| 062 | Building an Automated Alert Triage Tool | alert_triage.py | π |
| 063 | Zero Trust Architecture Explained | - | π |
| 064 | Security Metrics: What to Measure & Why | - | π |
| 065 | Phase 3 Capstone: Building a Detection Lab | - | π |
The future is cloud. Learn to attack and defend AWS and Azure environments.
| Day | Topic | Code / Lab | Post |
|---|---|---|---|
| 066 | Cloud Security 101: Shared Responsibility Model | - | π |
| 067 | AWS IAM: Permissions, Roles & Least Privilege | - | π |
| 068 | S3 Misconfigurations: A Real-World Epidemic | - | π |
| 069 | Cloud Attack Techniques: Top 10 | - | π |
| 070 | AWS CloudTrail: Logging & Monitoring | - | π |
| 071 | AWS GuardDuty: Threat Detection at Scale | - | π |
| 072 | Container Security: Docker & Kubernetes Threats | - | π |
| 073 | Serverless Security: Lambda Attack Vectors | - | π |
| 074 | Azure Sentinel: Cloud-Native SIEM | - | π |
| 075 | Cloud Pen Testing: Methodology & Tools | cloud_enum.py | π |
| 076 | Secrets Management: Vault & AWS Secrets Manager | - | π |
| 077 | DevSecOps: Shifting Security Left in CI/CD | ci_security_scan.yml | π |
| 078 | IaC Security: Scanning Terraform for Misconfigs | tf_security_check.py | π |
| 079 | Cloud Incident Response: What's Different | - | π |
| 080 | Phase 4 Capstone: Full Cloud Environment Audit | - | π |
Where my research lives. ML-driven detection, LLM vulnerabilities, and adversarial AI.
| Day | Topic | Code / Lab | Post |
|---|---|---|---|
| 081 | Why AI is Changing Cybersecurity | - | π |
| 082 | Anomaly Detection with Isolation Forest | isolation_forest.py | π |
| 083 | Network Intrusion Detection with ML | - | π |
| 084 | Log Anomaly Detection: DeepLog vs LogREx | - | π |
| 085 | Phishing Detection with NLP | - | π |
| 086 | LLM Security: Prompt Injection Attacks | - | π |
| 087 | Jailbreaking LLMs: AI Red Teaming | - | π |
| 088 | RAG Poisoning & Data Exfiltration Attacks | - | π |
| 089 | Adversarial ML: Evading AI-Based Detectors | - | π |
| 090 | AI-Powered Threat Intelligence Pipelines | ti_pipeline.py | π |
| 091 | Explainable Alert Triage Using LLMs (Inspired by LogREx) | - | π |
| 092 | Knowledge Graphs for Security Context | - | π |
| 093 | Deepfake & Synthetic Media Threats | - | π |
| 094 | AI Governance & Responsible Security AI | - | π |
| 095 | Phase 5 Capstone: AI-Powered SIEM Alert Explainer | - | π |
The job hunt. Real projects, a polished portfolio, and strategy to land the offer.
| Day | Topic | Code / Lab | Post |
|---|---|---|---|
| 096 | Building a Security Portfolio That Gets Interviews | - | π |
| 097 | HTB / TryHackMe: Advanced Machine Writeup | - | π |
| 098 | Contributing to Open Source Security Tools | - | π |
| 099 | Top 30 Cybersecurity Interview Q&A | - | π |
| 100 | Day 100: What I Learned & What's Next | - | π |
Offensive Kali Linux Β· Metasploit Β· Burp Suite Β· Nmap Β· OWASP ZAP Β· Wireshark Β· Hashcat Β· SQLMap Β· Gobuster
Defensive Splunk Β· Snort Β· Sigma Β· YARA Β· Volatility Β· Elastic Stack
Cloud AWS (IAM, GuardDuty, CloudTrail, S3) Β· Azure Sentinel Β· Terraform Β· Docker Β· Kubernetes
AI & Data Science Python Β· scikit-learn Β· TensorFlow Β· Hugging Face Β· LangChain Β· NetworkX
Frameworks MITRE ATT&CK Β· OWASP Top 10 Β· NIST CSF Β· Zero Trust Β· PTES
I'm Sudeep Ravichandran - MS Cybersecurity student at Indiana University Bloomington (4.0 GPA), published researcher in AI-driven threat detection, and international student building toward a full-time security engineering role by May 2027.
My published research:
- LogREx - LLM + Knowledge Graph based log anomaly detection (Springer LNNS, CIS 2025)
- PCMedIR - Privacy-preserving medical image retrieval (Springer LNNS, ICCIS 2024)
π« LinkedIn Β· Portfolio Β· sudeep7217@gmail.com
If this repo helps your cybersecurity journey, please β star it.
Recruiter? I graduate May 2027 and I'm actively looking for security engineering roles.