30 days of cyber security
A short security task every day.
Level 201 · 13 lessons · 12 practice labs
Lessons
Weeks 1 and 2
- Days 1-3: networking and Linux basics: In the first three days you will get to know the basic parts of a network and the Linux command line, and finish small tasks on your own lab machine.
- Days 4-6: discovery and inventory: You will find the devices and open services on your network and build a tidy inventory, so you know exactly what needs protecting.
- Days 7-9: traffic analysis: You will capture and read network traffic to tell normal conversations from suspicious ones, and learn to notice an odd connection.
- Short task: gather the machines, services and owners of a network in one table
Weeks 2 and 3
- Days 10-12: passwords and cryptography: You will understand how passwords are stored and the difference between a hash and encryption, then check password storage on your own lab system.
- Days 13-15: web application security: You will recognise common weaknesses in web applications and see how to close them in your own lab application.
- Short task: report a weak password policy and an exposed web form
Weeks 3 and 4
- Days 16-18: system hardening: You will harden a server step by step by removing unneeded services, weak settings and overly open permissions.
- Days 19-21: logs and detection: You will read system logs, spot unusual events and set up a simple alert rule.
- Short task: write a rule that watches failed logins on the server you hardened
Final week
- Days 22-24: automation with Python: You will write small Python scripts that automate repetitive security checks.
- Days 25-27: incident response and forensics: You will practise, in small exercises, what to do when an incident happens and how to collect evidence from a machine without spoiling it.
- Days 28-30: wrap-up: an end-to-end security review: In the wrap-up task you will review the small network of a fictional company from start to finish and gather findings and fixes in a short report.
Practice labs
- How many machines are up on the lab network?: You scan the authorised lab subnet and write the number and addresses of responding machines to the result file.
- Find the machine running an old SSH version: You compare SSH service versions on the lab network and write the address and version of the machine lagging behind to the result file.
- Catch a service moved to an unusual port: You scan all ports, recognise a service moved to a nonstandard port by version detection and submit the flag in its banner.
- Find the most requested site in a capture: You find the host name that appears most in a capture's HTTP requests and write it to the result file.
- Decode credentials sent without encryption: You find the basic authentication header in a capture, decode it and submit the revealed password as the flag.
- Rebuild a downloaded file from traffic: You extract the file downloaded over HTTP from a capture and write its SHA-256 hash to the result file.
- Identify the hash type and find the weak password: You identify the type of a password hash from your own lab account, crack it with a small wordlist and submit the password as the flag.
- Find the account reusing a password on two systems: You compare hash dumps from two lab systems and write the account using the same password on both, with evidence, to the result file.
- Write an audit script that flags weak passwords: You write a Python script checking length, dictionary and repetition rules and write the number of weak passwords in the sample list to the result file.
- Find the single flaw in an SSH configuration: You compare a server's SSH configuration with a checklist, fix the one insecure setting and submit the flag the checker gives.
- A script that catches a newly privileged account: You write a Python script that reads logs and lists accounts added to the admin group in the last day and write the account found to the result file.
- Find the altered system file and when it changed: With package verification you find the one system file differing from its original, match the change time with logs and write it to the result file.
About this course
A short security task every day.
What you will learn
- Weeks 1 and 2
- Weeks 2 and 3
- Weeks 3 and 4
- Final week
Prerequisites
Finishing the level 101 courses of the same path, or knowing those topics, is enough.
Lab environment
Lessons run in your own Kali Linux terminal in the browser, connected to a private lab network. Nothing to install.
Frequently asked questions
- Is this course right for my level?
- The course is at level 201; it assumes you know the topics of the lower-level courses.
- Is there anything to install?
- No. Every lesson runs in your own lab environment that opens in the browser.
- How do lessons work?
- Each lesson has 8 to 10 steps and a short quiz. Early steps show the command to type, later steps give less help; if two attempts fail, the solution opens.
- Can I try it for free?
- Yes. The first three lessons of every course are free.