30 days of beginner tasks
With one five-to-ten-minute task a day you build habits with the terminal, networks, passwords and logs.
Level 101 · 30 lessons · 27 practice labs
Lessons
Week 1: first steps in the terminal
- Day 1: find out who and where you are
- Day 2: read the hidden note in your home directory
- Day 3: find the largest file filling the disk
- Day 4: lock down a secret file everyone can read
- Day 5: count the errors in a log
- Day 6: find the lost configuration file
- Short task: Day 7, list only the files changed today in a folder
Week 2: getting to know the network
- Day 8: find the machine's IP address and gateway
- Day 9: find which server is not answering
- Day 10: resolve a domain name to its IP address
- Day 11: list the ports listening on your machine
- Day 12: find which process opened port 8080
- Day 13: read a web server's headers
- Short task: Day 14, note three services and their versions on the local network
Week 3: passwords and accounts
- Day 15: generate a strong password and explain why it is strong
- Day 16: take a file's SHA-256 hash and compare it
- Day 17: list the accounts that can log in
- Day 18: find who has sudo rights
- Day 19: generate an SSH key and set up key login
- Day 20: decode a base64-encoded note
- Short task: Day 21, find the account whose password never changed
Week 4: logs and first detection
- Day 22: count failed login attempts
- Day 23: find the IP with the most attempts
- Day 24: extract the paths returning 404 in a web log
- Day 25: find the suspicious nightly scheduled job
- Day 26: close an unneeded port on the firewall
- Day 27: list the packages that need updating
- Short task: Day 28, write a three-sentence summary of a day's logs
The last two days
- Day 29: build your own server security checklist
- Capstone: Day 30, audit a small server end to end and report
Practice labs
- Find the note at the bottom of a folder tree: In a tree of dozens of nested folders you find the one file with the given name and submit the flag inside it.
- Find the big file owned by a given user: In an archive directory you find the only file owned by a given user and larger than 1 MB and write its name to the result file.
- Catch a file by date and permission clues: Among hundreds of files you find the only one changed last week and readable by its owner alone and submit the flag inside.
- Search the notes for a keyword: Across fifty note files you find the single line containing the given keyword and submit the flag next to it.
- Find the line that appears only once: In a file of thousands of repeated lines you find the one that appears only once with sort and count tools and submit it as the flag.
- Sum the matching rows of a CSV: In an order export you add up the amount column of the rows for a given city and write the total to the result file.
- Open a compressed archive and read the note: You unpack a tar.gz archive, find the flag sitting in one of its folders and submit it.
- Peel nested archive layers: You open a file wrapped in zip, tar and gzip in turn by recognising each type and submit the flag at the centre.
- Pick the intact archive out of ten: By checking against a hash list you find the only uncorrupted archive out of ten, unpack it and submit the flag inside.
- Write file permissions as numbers: You read the permissions of five files and write their octal values in order to the result file.
- Make a script that won't run executable: You fix the permission of a script lacking execute rights, run it and submit the flag it prints.
- Close files anyone can write to: You find and fix the world-writable files in a home directory and submit the flag the checker script gives you.
- Find the process using the most memory: You find the name and ID of the process using the most memory and write them to the result file.
- Read the argument of a process started from /tmp: You find the process started from the temporary directory and submit the flag hidden in its command-line argument.
- Find the secret in a process's environment: You read a running service's environment variables under /proc and submit the flag kept there.
- Which of five addresses answers?: You find the only machine among five given addresses that answers ping and write its address to the result file.
- Find the port that greets you: You connect to three open ports on the lab server one by one, find the one whose greeting holds the flag and submit it.
- Read the clue hidden in a DNS text record: You query a domain's different record types on the lab DNS server and submit the flag written in its text record.
- Decode a note written in hex: You turn a short note written in hexadecimal back into text and submit the flag in it.
- Find the file matching a given hash: You compute SHA-256 hashes of ten files and write the name of the one matching the given hash to the result file.
- Undo a two-layer encoding in order: You undo a note that was letter-shifted and then base64-encoded in the right order and submit the flag.
- Find the account with an unusual home directory: In the account list you find the only login-capable account whose home is outside /home and write its name to the result file.
- Find the user who belongs to both groups: From the group files you find the only user in both the backup and admin groups and write the name to the result file.
- Find the expired account still running jobs: Among accounts past their expiry date you find the one that still has a scheduled job and write the account and job to the result file.
- Find a user's last successful login time: You write the time and source address of a given user's last successful login in the authentication log to the result file.
- Find the client type sending the most requests: In a web log you find the user agent that sent the most requests and its count and write them to the result file.
- Find the hour and path where errors spiked: In a day of web logs you find the hour with the most 500 errors and the path producing them and write both to the result file.
About this course
With one five-to-ten-minute task a day you build habits with the terminal, networks, passwords and logs.
What you will learn
- Week 1: first steps in the terminal
- Week 2: getting to know the network
- Week 3: passwords and accounts
- Week 4: logs and first detection
- The last two days
Prerequisites
No prior knowledge is needed; the course starts from zero.
Lab environment
Lessons run in your own Kali Linux terminal that opens in the browser. Nothing to install; the lab starts clean in every lesson.
Frequently asked questions
- Is this course right for my level?
- The course is at beginner level; every term is explained where it first appears.
- 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.