shelly

Example Dojo

4 / 7 364 / 558


Apple

Time of First Successful Submission: 2024-01-13 19:33:49

Banana

Time of First Successful Submission: 2024-01-13 19:35:04

Earth

Time of First Successful Submission: 2024-01-13 19:36:52

Mars

Time of First Successful Submission: 2024-01-13 19:37:53


Example Import Dojo

4 / 4 248 / 558


Apple

Time of First Successful Submission: 2024-01-13 19:33:49

Banana

Time of First Successful Submission: 2024-01-13 19:35:04

Earth

Time of First Successful Submission: 2024-01-13 19:36:52

Martian Planet

Time of First Successful Submission: 2024-01-13 19:37:53


Intro to Programming Languages

15 / 234 10402 / 35036


Commands

Time of First Successful Submission: 2026-05-12 09:42:34

Command Arguments

Time of First Successful Submission: 2026-05-12 09:43:30

Command History

Time of First Successful Submission: 2026-05-12 09:44:11

The Root Path

Time of First Successful Submission: 2026-05-12 09:46:28

Absolute Paths

Time of First Successful Submission: 2026-05-12 09:47:37

Changing position

Time of First Successful Submission: 2026-05-12 09:49:04

Changing to an Absolute Path

Time of First Successful Submission: 2026-05-12 09:51:24

Relative Paths

Time of First Successful Submission: 2026-05-12 09:52:51

Cat

Time of First Successful Submission: 2026-05-12 10:00:04

Ls

Time of First Successful Submission: 2026-05-12 10:06:02

Ls All

Time of First Successful Submission: 2026-05-12 10:11:22

Find

Time of First Successful Submission: 2026-05-12 10:24:36

Piping Echo

Time of First Successful Submission: 2026-05-13 01:05:53

Piping Stdout

Time of First Successful Submission: 2026-05-13 01:06:57

Piping Stdin

Time of First Successful Submission: 2026-05-13 01:12:33


Start Here

9 / 12 23822 / 47541


Using the Terminal

Time of First Successful Submission: 2026-05-12 09:29:28

Using the VSCode Workspace

Time of First Successful Submission: 2024-01-13 18:45:45

Using the GUI Desktop

Time of First Successful Submission: 2024-01-13 18:52:00

Pasting into the Desktop

Time of First Successful Submission: 2024-01-13 18:57:10

Challenge Programs

Time of First Successful Submission: 2026-05-12 09:30:41

The Flag File

Time of First Successful Submission: 2024-01-13 18:59:58

Using Privileged Mode

Time of First Successful Submission: 2024-01-13 19:09:52

Persistent Home Directories - One

Time of First Successful Submission: 2024-01-13 19:16:53

Persistent Home Directories - Two

Time of First Successful Submission: 2024-01-13 19:19:14


Linux Luminarium

124 / 128 4968 / 35514


Intro to Commands

Time of First Successful Submission: 2026-05-12 09:42:34

Intro to Arguments

Time of First Successful Submission: 2026-05-12 09:43:30

Command History

Time of First Successful Submission: 2026-05-12 09:44:11

The Root

Time of First Successful Submission: 2026-05-12 09:46:28

Program and absolute paths

Time of First Successful Submission: 2026-05-12 09:47:37

Position thy self

Time of First Successful Submission: 2026-05-12 09:49:04

Position elsewhere

Time of First Successful Submission: 2026-05-12 09:51:24

implicit relative paths, from /

Time of First Successful Submission: 2026-05-12 09:52:51

explicit relative paths, from /

Time of First Successful Submission: 2026-05-12 09:53:50

implicit relative path

Time of First Successful Submission: 2026-05-12 09:55:11

home sweet home

Time of First Successful Submission: 2026-05-12 09:58:59

cat: not the pet, but the command!

Time of First Successful Submission: 2026-05-12 10:00:04

catting absolute paths

Time of First Successful Submission: 2026-05-12 10:00:40

more catting practice

Time of First Successful Submission: 2026-05-12 10:02:27

grepping for a needle in a haystack

Time of First Successful Submission: 2026-05-12 10:03:24

comparing files

Time of First Successful Submission: 2026-05-12 10:05:04

listing files

Time of First Successful Submission: 2026-05-12 10:06:02

touching files

Time of First Successful Submission: 2026-05-12 10:07:02

removing files

Time of First Successful Submission: 2026-05-12 10:08:20

moving files

Time of First Successful Submission: 2026-05-12 10:09:29

copying files

Time of First Successful Submission: 2026-05-12 10:10:24

hidden files

Time of First Successful Submission: 2026-05-12 10:11:22

An Epic Filesystem Quest

Time of First Successful Submission: 2026-05-12 10:17:41

making directories

Time of First Successful Submission: 2026-05-12 10:19:48

finding files

Time of First Successful Submission: 2026-05-12 10:24:36

linking files

Time of First Successful Submission: 2026-05-12 10:27:25

Learning From Documentation

Time of First Successful Submission: 2026-05-12 10:29:23

Learning Complex Usage

Time of First Successful Submission: 2026-05-12 10:30:44

Reading Manuals

Time of First Successful Submission: 2026-05-12 10:32:23

Searching Manuals

Time of First Successful Submission: 2026-05-12 10:34:22

Searching For Manuals

Time of First Successful Submission: 2026-05-12 10:45:56

Helpful Programs

Time of First Successful Submission: 2026-05-12 10:43:24

Help for Builtins

Time of First Successful Submission: 2026-05-12 10:47:27

Matching with *

Time of First Successful Submission: 2026-05-13 00:52:15

Matching with ?

Time of First Successful Submission: 2026-05-13 00:53:49

Matching with []

Time of First Successful Submission: 2026-05-13 00:55:03

Matching paths with []

Time of First Successful Submission: 2026-05-13 00:56:02

Multiple globs

Time of First Successful Submission: 2026-05-13 00:57:38

Mixing globs

Time of First Successful Submission: 2026-05-13 00:59:40

Exclusionary globbing

Time of First Successful Submission: 2026-05-13 01:01:12

Tab completion

Time of First Successful Submission: 2026-05-13 01:02:21

Multiple options for tab completion

Time of First Successful Submission: 2026-05-13 01:03:53

Tab completion on commands

Time of First Successful Submission: 2026-05-13 01:04:34

Redirecting output

Time of First Successful Submission: 2026-05-13 01:05:53

Redirecting more output

Time of First Successful Submission: 2026-05-13 01:06:57

Appending output

Time of First Successful Submission: 2026-05-13 01:09:40

Redirecting errors

Time of First Successful Submission: 2026-05-13 01:11:05

Redirecting input

Time of First Successful Submission: 2026-05-13 01:12:33

Grepping stored results

Time of First Successful Submission: 2026-05-13 01:13:54

Grepping live output

Time of First Successful Submission: 2026-05-13 01:14:52

Grepping errors

Time of First Successful Submission: 2026-05-13 01:17:32

Filtering with grep -v

Time of First Successful Submission: 2026-05-13 01:18:54

Filtering with sed

Time of First Successful Submission: 2026-05-13 01:20:27

Process substitution for input

Time of First Successful Submission: 2026-05-13 01:40:45

Writing to multiple programs

Time of First Successful Submission: 2026-05-13 01:41:59

Split-piping stderr and stdout

Time of First Successful Submission: 2026-05-13 01:42:50

Named pipes

Time of First Successful Submission: 2026-05-13 01:46:54

Printing Variables

Time of First Successful Submission: 2026-05-13 06:02:42

Setting Variables

Time of First Successful Submission: 2026-05-13 06:03:25

Multi-word Variables

Time of First Successful Submission: 2026-05-13 06:04:26

Exporting Variables

Time of First Successful Submission: 2026-05-13 06:06:16

Printing Exported Variables

Time of First Successful Submission: 2026-05-13 06:07:09

Storing Command Output

Time of First Successful Submission: 2026-05-13 06:09:06

Reading Input

Time of First Successful Submission: 2026-05-13 06:10:44

Reading Files

Time of First Successful Submission: 2026-05-13 06:14:49

Translating characters

Time of First Successful Submission: 2026-05-13 06:18:33

Deleting characters

Time of First Successful Submission: 2026-05-13 06:19:56

Deleting newlines

Time of First Successful Submission: 2026-05-13 06:21:33

Extracting the first lines with head

Time of First Successful Submission: 2026-05-13 06:23:14

Extracting specific sections of text

Time of First Successful Submission: 2026-05-13 06:25:47

Sorting data

Time of First Successful Submission: 2026-05-13 06:27:05

Listing Processes

Time of First Successful Submission: 2026-05-13 07:35:21

Killing Processes

Time of First Successful Submission: 2026-05-13 07:37:32

Interrupting Processes

Time of First Successful Submission: 2026-05-13 07:38:41

Killing Misbehaving Processes

Time of First Successful Submission: 2026-05-13 07:50:51

Suspending Processes

Time of First Successful Submission: 2026-05-13 07:52:05

Resuming Processes

Time of First Successful Submission: 2026-05-13 07:53:01

Backgrounding Processes

Time of First Successful Submission: 2026-05-13 07:54:35

Foregrounding Processes

Time of First Successful Submission: 2026-05-13 07:55:59

Starting Backgrounded Processes

Time of First Successful Submission: 2026-05-13 07:56:43

Process Exit Codes

Time of First Successful Submission: 2026-05-13 07:58:03

Becoming root with su

Time of First Successful Submission: 2026-05-13 09:34:20

Other users with su

Time of First Successful Submission: 2026-05-13 09:35:36

Cracking passwords

Time of First Successful Submission: 2026-05-13 09:41:12

Using sudo

Time of First Successful Submission: 2026-05-13 09:43:49

Changing File Ownership

Time of First Successful Submission: 2026-05-13 09:46:28

Groups and Files

Time of First Successful Submission: 2026-05-13 09:47:16

Fun With Groups Names

Time of First Successful Submission: 2026-05-13 09:49:11

Changing Permissions

Time of First Successful Submission: 2026-05-13 09:50:38

Executable Files

Time of First Successful Submission: 2026-05-13 09:51:58

Permission Tweaking Practice

Time of First Successful Submission: 2026-05-13 09:58:46

Permissions Setting Practice

Time of First Successful Submission: 2026-05-13 10:03:46

The SUID Bit

Time of First Successful Submission: 2026-05-13 10:05:13

Chaining with Semicolons

Time of First Successful Submission: 2026-05-14 14:16:58

Building on Success

Time of First Successful Submission: 2026-05-14 14:18:54

Handling Failure

Time of First Successful Submission: 2026-05-14 14:19:52

Your First Shell Script

Time of First Successful Submission: 2026-05-14 15:27:04

Redirecting Script Output

Time of First Successful Submission: 2026-05-14 15:30:13

Executable Shell Scripts

Time of First Successful Submission: 2026-05-14 15:31:46

Understanding Shebangs

Time of First Successful Submission: 2026-05-14 15:33:29

Scripting with Arguments

Time of First Successful Submission: 2026-05-14 15:38:03

Scripting with Conditionals

Time of First Successful Submission: 2026-05-14 15:39:16

Scripting with Default Cases

Time of First Successful Submission: 2026-05-14 15:41:20

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-05-14 15:42:32

Reading Shell Scripts

Time of First Successful Submission: 2026-05-14 15:45:05

Launching Screen

Time of First Successful Submission: 2026-05-14 15:50:25

Detaching and Attaching

Time of First Successful Submission: 2026-05-14 16:08:34

Finding Sessions

Time of First Successful Submission: 2026-05-14 16:15:57

Switching Windows

Time of First Successful Submission: 2026-05-14 16:19:11

The PATH Variable

Time of First Successful Submission: 2026-05-20 11:15:48

Setting PATH

Time of First Successful Submission: 2026-05-20 11:16:51

Finding Commands

Time of First Successful Submission: 2026-05-20 11:18:12

Adding Commands

Time of First Successful Submission: 2026-05-20 11:19:43

Hijacking Commands

Time of First Successful Submission: 2026-05-20 11:21:09

Bashrc Backdoor

Time of First Successful Submission: 2026-05-20 11:22:44

Sniffing Input

Time of First Successful Submission: 2026-05-20 11:24:12

Tricky Linking

Time of First Successful Submission: 2026-05-20 11:27:49

Sniffing Process Arguments

Time of First Successful Submission: 2026-05-20 11:30:16

Snooping on Configurations

Time of First Successful Submission: 2026-05-20 11:31:46

The Fork Bomb

Time of First Successful Submission: 2026-05-21 06:36:20

Disk-Space Doomsday

Time of First Successful Submission: 2026-05-21 06:48:17

rm -rf /

Time of First Successful Submission: 2026-05-21 06:50:54

Life after rm -rf /

Time of First Successful Submission: 2026-05-21 06:52:56

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-05-21 06:56:52


Computing 101

28 / 125 5716 / 20479


Your First Register

Time of First Successful Submission: 2026-05-21 11:40:57

Your First Syscall

Time of First Successful Submission: 2026-05-21 11:42:20

Exit Codes

Time of First Successful Submission: 2026-05-21 11:43:36

Building Executables

Time of First Successful Submission: 2026-05-21 11:45:19

Moving Between Registers

Time of First Successful Submission: 2026-05-21 11:47:51

Loading From Memory

Time of First Successful Submission: 2026-05-21 11:50:54

More Loading Practice

Time of First Successful Submission: 2026-05-21 11:57:06

Dereferencing Pointers

Time of First Successful Submission: 2026-05-21 12:07:12

Dereferencing Yourself

Time of First Successful Submission: 2026-05-21 12:08:34

Dereferencing with Offsets

Time of First Successful Submission: 2026-05-21 12:10:18

Stored Addresses

Time of First Successful Submission: 2026-05-21 12:22:14

Double Dereference

Time of First Successful Submission: 2026-05-21 12:23:33

The Stack

Time of First Successful Submission: 2026-05-21 12:31:55

Stack Offsets

Time of First Successful Submission: 2026-05-21 12:33:12

Program Arguments on the Stack

Time of First Successful Submission: 2026-05-21 12:34:31

Popping From the Stack

Time of First Successful Submission: 2026-05-21 12:36:09

Disassembling Programs

Time of First Successful Submission: 2026-05-21 12:38:24

Tracing Syscalls

Time of First Successful Submission: 2026-05-21 12:39:35

Starting GDB

Time of First Successful Submission: 2026-05-21 12:40:44

Quitting GDB

Time of First Successful Submission: 2026-05-21 12:41:39

Starting Programs in GDB

Time of First Successful Submission: 2026-05-21 12:43:12

Disassembling in GDB

Time of First Successful Submission: 2026-05-21 12:44:39

Stepping Through Instructions

Time of First Successful Submission: 2026-05-21 12:46:31

Reading Register Values

Time of First Successful Submission: 2026-05-21 12:47:50

Popping Stack Values

Time of First Successful Submission: 2026-05-21 12:49:09

Examining Memory

Time of First Successful Submission: 2026-05-21 12:51:25

Examining Stack Pointers

Time of First Successful Submission: 2026-05-21 12:53:35

Cooperative Debugging

Time of First Successful Submission: 2026-05-21 12:54:59


Playing With Programs

17 / 116 16133 / 24122


cat

Time of First Successful Submission: 2024-01-13 22:13:36

more

Time of First Successful Submission: 2024-01-13 22:15:13

less

Time of First Successful Submission: 2024-01-13 22:16:55

tail

Time of First Successful Submission: 2024-01-13 22:18:32

head

Time of First Successful Submission: 2024-01-13 22:21:41

sort

Time of First Successful Submission: 2024-01-13 22:23:06

vim

Time of First Successful Submission: 2024-01-13 22:26:14

emacs

Time of First Successful Submission: 2024-01-13 22:35:19

nano

Time of First Successful Submission: 2024-01-13 22:49:25

rev

Time of First Successful Submission: 2024-01-13 22:54:39

od

Time of First Successful Submission: 2024-01-13 23:18:59

hd

Time of First Successful Submission: 2024-01-13 23:21:14

xxd

Time of First Successful Submission: 2024-01-13 23:23:21

base32

Time of First Successful Submission: 2024-01-13 23:28:35

base64

Time of First Successful Submission: 2024-01-13 23:31:45

split

Time of First Successful Submission: 2024-01-14 00:05:05

gzip

Time of First Successful Submission: 2024-01-14 00:19:17


DSU Cyber Camps

9 / 104 23975 / 47836


Using the Terminal

Time of First Successful Submission: 2026-05-12 09:29:28

Using the VSCode Workspace

Time of First Successful Submission: 2024-01-13 18:45:45

Using the GUI Desktop

Time of First Successful Submission: 2024-01-13 18:52:00

Pasting into the Desktop

Time of First Successful Submission: 2024-01-13 18:57:10

Challenge Programs

Time of First Successful Submission: 2026-05-12 09:30:41

The Flag File

Time of First Successful Submission: 2024-01-13 18:59:58

Using Privileged Mode

Time of First Successful Submission: 2024-01-13 19:09:52

Persistent Home Directories - One

Time of First Successful Submission: 2024-01-13 19:16:53

Persistent Home Directories - Two

Time of First Successful Submission: 2024-01-13 19:19:14


GCA CTF

9 / 104 23975 / 47836


Using the Terminal

Time of First Successful Submission: 2026-05-12 09:29:28

Using the VSCode Workspace

Time of First Successful Submission: 2024-01-13 18:45:45

Using the GUI Desktop

Time of First Successful Submission: 2024-01-13 18:52:00

Pasting into the Desktop

Time of First Successful Submission: 2024-01-13 18:57:10

Challenge Programs

Time of First Successful Submission: 2026-05-12 09:30:41

The Flag File

Time of First Successful Submission: 2024-01-13 18:59:58

Using Privileged Mode

Time of First Successful Submission: 2024-01-13 19:09:52

Persistent Home Directories - One

Time of First Successful Submission: 2024-01-13 19:16:53

Persistent Home Directories - Two

Time of First Successful Submission: 2024-01-13 19:19:14