KUDO

🐧

Intro to Programming Languages

15 / 234 9627 / 32440


Commands

Time of First Successful Submission: 2026-04-05 09:15:10

Command Arguments

Time of First Successful Submission: 2026-04-05 09:18:37

Command History

Time of First Successful Submission: 2026-04-05 09:19:25

The Root Path

Time of First Successful Submission: 2026-04-05 09:38:46

Absolute Paths

Time of First Successful Submission: 2026-04-05 09:41:09

Changing position

Time of First Successful Submission: 2026-04-05 09:47:47

Changing to an Absolute Path

Time of First Successful Submission: 2026-04-05 09:51:25

Relative Paths

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

Cat

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

Ls

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

Ls All

Time of First Successful Submission: 2026-04-05 10:18:27

Find

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

Piping Echo

Time of First Successful Submission: 2026-04-05 16:42:49

Piping Stdout

Time of First Successful Submission: 2026-04-05 16:57:54

Piping Stdin

Time of First Successful Submission: 2026-04-05 17:03:41


Start Here

12 / 12 2042 / 43847


Using the Terminal

Time of First Successful Submission: 2026-04-05 08:21:19

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-05 08:31:36

Using the GUI Desktop

Time of First Successful Submission: 2026-04-05 08:39:28

Pasting into the Desktop

Time of First Successful Submission: 2026-04-05 08:40:50

Restarting Challenges

Time of First Successful Submission: 2026-04-05 08:54:07

Challenge Programs

Time of First Successful Submission: 2026-04-07 14:52:55

The Flag File

Time of First Successful Submission: 2026-04-07 14:53:54

Using Privileged Mode

Time of First Successful Submission: 2026-04-07 14:56:08

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-07 14:58:21

Persistent Home Directories - Two

Time of First Successful Submission: 2026-04-07 14:58:48


Linux Luminarium

128 / 128 2713 / 32856


Intro to Commands

Time of First Successful Submission: 2026-04-05 09:15:10

Intro to Arguments

Time of First Successful Submission: 2026-04-05 09:18:37

Command History

Time of First Successful Submission: 2026-04-05 09:19:25

The Root

Time of First Successful Submission: 2026-04-05 09:38:46

Program and absolute paths

Time of First Successful Submission: 2026-04-05 09:41:09

Position thy self

Time of First Successful Submission: 2026-04-05 09:47:47

Position elsewhere

Time of First Successful Submission: 2026-04-05 09:51:25

implicit relative paths, from /

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

explicit relative paths, from /

Time of First Successful Submission: 2026-04-05 09:59:32

implicit relative path

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

home sweet home

Time of First Successful Submission: 2026-04-05 10:03:31

cat: not the pet, but the command!

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

catting absolute paths

Time of First Successful Submission: 2026-04-05 10:06:07

more catting practice

Time of First Successful Submission: 2026-04-05 10:08:22

grepping for a needle in a haystack

Time of First Successful Submission: 2026-04-05 10:09:37

comparing files

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

listing files

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

touching files

Time of First Successful Submission: 2026-04-05 10:14:02

removing files

Time of First Successful Submission: 2026-04-05 10:14:53

moving files

Time of First Successful Submission: 2026-04-05 10:16:47

copying files

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

hidden files

Time of First Successful Submission: 2026-04-05 10:18:27

An Epic Filesystem Quest

Time of First Successful Submission: 2026-04-05 10:24:47

making directories

Time of First Successful Submission: 2026-04-05 10:25:47

finding files

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

linking files

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

Learning From Documentation

Time of First Successful Submission: 2026-04-05 10:48:02

Learning Complex Usage

Time of First Successful Submission: 2026-04-05 10:54:07

Reading Manuals

Time of First Successful Submission: 2026-04-05 11:07:49

Searching Manuals

Time of First Successful Submission: 2026-04-05 11:09:01

Searching For Manuals

Time of First Successful Submission: 2026-04-05 15:36:54

Helpful Programs

Time of First Successful Submission: 2026-04-05 15:38:19

Help for Builtins

Time of First Successful Submission: 2026-04-05 15:48:03

Matching with *

Time of First Successful Submission: 2026-04-05 15:51:48

Matching with ?

Time of First Successful Submission: 2026-04-05 15:53:47

Matching with []

Time of First Successful Submission: 2026-04-05 15:59:15

Matching paths with []

Time of First Successful Submission: 2026-04-05 16:01:07

Multiple globs

Time of First Successful Submission: 2026-04-05 16:03:10

Mixing globs

Time of First Successful Submission: 2026-04-05 16:05:04

Exclusionary globbing

Time of First Successful Submission: 2026-04-05 16:06:42

Tab completion

Time of First Successful Submission: 2026-04-05 16:09:27

Multiple options for tab completion

Time of First Successful Submission: 2026-04-05 16:18:31

Tab completion on commands

Time of First Successful Submission: 2026-04-05 16:19:24

Redirecting output

Time of First Successful Submission: 2026-04-05 16:42:49

Redirecting more output

Time of First Successful Submission: 2026-04-05 16:57:54

Appending output

Time of First Successful Submission: 2026-04-05 16:59:30

Redirecting errors

Time of First Successful Submission: 2026-04-05 17:01:46

Redirecting input

Time of First Successful Submission: 2026-04-05 17:03:41

Grepping stored results

Time of First Successful Submission: 2026-04-05 17:05:55

Grepping live output

Time of First Successful Submission: 2026-04-05 17:07:06

Grepping errors

Time of First Successful Submission: 2026-04-05 17:09:10

Filtering with grep -v

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

Filtering with sed

Time of First Successful Submission: 2026-04-05 17:11:37

Duplicating piped data with tee

Time of First Successful Submission: 2026-04-05 17:18:08

Process substitution for input

Time of First Successful Submission: 2026-04-05 17:24:26

Writing to multiple programs

Time of First Successful Submission: 2026-04-05 17:29:47

Split-piping stderr and stdout

Time of First Successful Submission: 2026-04-05 17:34:11

Named pipes

Time of First Successful Submission: 2026-04-05 17:42:27

Printing Variables

Time of First Successful Submission: 2026-04-05 17:44:40

Setting Variables

Time of First Successful Submission: 2026-04-05 17:46:04

Multi-word Variables

Time of First Successful Submission: 2026-04-05 17:47:10

Exporting Variables

Time of First Successful Submission: 2026-04-05 18:00:15

Printing Exported Variables

Time of First Successful Submission: 2026-04-05 18:01:01

Storing Command Output

Time of First Successful Submission: 2026-04-05 18:02:28

Reading Input

Time of First Successful Submission: 2026-04-05 18:06:01

Reading Files

Time of First Successful Submission: 2026-04-05 18:08:07

Translating characters

Time of First Successful Submission: 2026-04-06 09:19:39

Deleting characters

Time of First Successful Submission: 2026-04-06 09:21:03

Deleting newlines

Time of First Successful Submission: 2026-04-06 09:38:23

Extracting the first lines with head

Time of First Successful Submission: 2026-04-06 09:42:31

Extracting specific sections of text

Time of First Successful Submission: 2026-04-06 09:46:44

Sorting data

Time of First Successful Submission: 2026-04-06 09:48:24

Listing Processes

Time of First Successful Submission: 2026-04-06 09:54:52

Killing Processes

Time of First Successful Submission: 2026-04-06 09:56:24

Interrupting Processes

Time of First Successful Submission: 2026-04-06 09:57:10

Killing Misbehaving Processes

Time of First Successful Submission: 2026-04-06 10:00:40

Suspending Processes

Time of First Successful Submission: 2026-04-06 10:01:48

Resuming Processes

Time of First Successful Submission: 2026-04-06 10:02:32

Backgrounding Processes

Time of First Successful Submission: 2026-04-06 10:05:21

Foregrounding Processes

Time of First Successful Submission: 2026-04-06 10:07:18

Starting Backgrounded Processes

Time of First Successful Submission: 2026-04-06 10:07:53

Process Exit Codes

Time of First Successful Submission: 2026-04-06 10:09:38

Becoming root with su

Time of First Successful Submission: 2026-04-06 10:14:29

Other users with su

Time of First Successful Submission: 2026-04-06 10:15:31

Cracking passwords

Time of First Successful Submission: 2026-04-06 10:19:46

Using sudo

Time of First Successful Submission: 2026-04-06 10:23:15

Changing File Ownership

Time of First Successful Submission: 2026-04-06 13:16:41

Groups and Files

Time of First Successful Submission: 2026-04-06 13:22:42

Fun With Groups Names

Time of First Successful Submission: 2026-04-06 15:48:37

Changing Permissions

Time of First Successful Submission: 2026-04-06 15:52:11

Executable Files

Time of First Successful Submission: 2026-04-06 15:54:20

Permission Tweaking Practice

Time of First Successful Submission: 2026-04-06 16:10:12

Permissions Setting Practice

Time of First Successful Submission: 2026-04-06 16:13:14

The SUID Bit

Time of First Successful Submission: 2026-04-06 16:15:24

Chaining with Semicolons

Time of First Successful Submission: 2026-04-06 16:17:23

Building on Success

Time of First Successful Submission: 2026-04-06 16:18:42

Handling Failure

Time of First Successful Submission: 2026-04-06 16:19:34

Your First Shell Script

Time of First Successful Submission: 2026-04-06 16:23:34

Redirecting Script Output

Time of First Successful Submission: 2026-04-06 16:37:36

Executable Shell Scripts

Time of First Successful Submission: 2026-04-06 16:39:23

Understanding Shebangs

Time of First Successful Submission: 2026-04-06 16:42:40

Scripting with Arguments

Time of First Successful Submission: 2026-04-06 16:45:16

Scripting with Conditionals

Time of First Successful Submission: 2026-04-06 16:47:31

Scripting with Default Cases

Time of First Successful Submission: 2026-04-06 16:49:07

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-04-06 16:52:09

Reading Shell Scripts

Time of First Successful Submission: 2026-04-06 16:54:11

Launching Screen

Time of First Successful Submission: 2026-04-06 16:57:28

Detaching and Attaching

Time of First Successful Submission: 2026-04-06 16:59:36

Finding Sessions

Time of First Successful Submission: 2026-04-07 13:56:11

Switching Windows

Time of First Successful Submission: 2026-04-07 13:57:54

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-04-07 13:59:11

Switching Windows (tmux)

Time of First Successful Submission: 2026-04-07 14:01:48

The PATH Variable

Time of First Successful Submission: 2026-04-06 18:26:31

Setting PATH

Time of First Successful Submission: 2026-04-06 18:29:44

Finding Commands

Time of First Successful Submission: 2026-04-06 18:31:01

Adding Commands

Time of First Successful Submission: 2026-04-06 18:36:10

Hijacking Commands

Time of First Successful Submission: 2026-04-06 18:39:40

Bashrc Backdoor

Time of First Successful Submission: 2026-04-07 14:05:47

Sniffing Input

Time of First Successful Submission: 2026-04-07 14:12:33

Overshared Directories

Time of First Successful Submission: 2026-04-07 14:16:27

Tricky Linking

Time of First Successful Submission: 2026-04-07 14:23:22

Sniffing Process Arguments

Time of First Successful Submission: 2026-04-07 14:26:19

Snooping on Configurations

Time of First Successful Submission: 2026-04-07 14:28:17

The Fork Bomb

Time of First Successful Submission: 2026-04-07 14:51:08

Disk-Space Doomsday

Time of First Successful Submission: 2026-04-07 14:32:20

rm -rf /

Time of First Successful Submission: 2026-04-07 14:36:51

Life after rm -rf /

Time of First Successful Submission: 2026-04-07 14:41:39

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-04-07 14:46:04


Computing 101

54 / 94 4957 / 21748


Your First Register

Time of First Successful Submission: 2026-04-07 18:30:06

Your First Syscall

Time of First Successful Submission: 2026-04-07 18:32:26

Exit Codes

Time of First Successful Submission: 2026-04-07 18:33:52

Building Executables

Time of First Successful Submission: 2026-04-07 18:40:23

Moving Between Registers

Time of First Successful Submission: 2026-04-07 18:42:35

Loading From Memory

Time of First Successful Submission: 2026-04-10 13:27:46

More Loading Practice

Time of First Successful Submission: 2026-04-10 13:30:04

Dereferencing Pointers

Time of First Successful Submission: 2026-04-10 13:34:55

Dereferencing Yourself

Time of First Successful Submission: 2026-04-10 13:37:19

Dereferencing with Offsets

Time of First Successful Submission: 2026-04-10 13:40:15

Stored Addresses

Time of First Successful Submission: 2026-04-10 13:44:03

Double Dereference

Time of First Successful Submission: 2026-04-10 13:48:40

The Stack

Time of First Successful Submission: 2026-04-10 13:53:07

Stack Offsets

Time of First Successful Submission: 2026-04-10 13:55:17

Program Arguments on the Stack

Time of First Successful Submission: 2026-04-10 14:00:06

Popping From the Stack

Time of First Successful Submission: 2026-04-10 14:02:06

Disassembling Programs

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

Tracing Syscalls

Time of First Successful Submission: 2026-04-10 15:17:47

Starting GDB

Time of First Successful Submission: 2026-04-10 15:19:39

Quitting GDB

Time of First Successful Submission: 2026-04-10 15:21:18

Starting Programs in GDB

Time of First Successful Submission: 2026-04-10 15:23:38

Disassembling in GDB

Time of First Successful Submission: 2026-04-10 15:24:40

Stepping Through Instructions

Time of First Successful Submission: 2026-04-10 15:26:20

Reading Register Values

Time of First Successful Submission: 2026-04-10 15:30:17

Popping Stack Values

Time of First Successful Submission: 2026-04-10 15:32:05

Examining Memory

Time of First Successful Submission: 2026-04-10 15:36:59

Examining Stack Pointers

Time of First Successful Submission: 2026-04-10 15:39:22

Cooperative Debugging

Time of First Successful Submission: 2026-04-10 15:44:13

Writing Output

Time of First Successful Submission: 2026-04-11 13:23:13

Chaining Syscalls

Time of First Successful Submission: 2026-04-11 13:25:01

Writing Strings

Time of First Successful Submission: 2026-04-11 13:26:54

Reading Data

Time of First Successful Submission: 2026-04-11 13:33:03

Opening Files

Time of First Successful Submission: 2026-04-11 13:40:56

Hardcoding the Filename

Time of First Successful Submission: 2026-04-11 13:52:20

Comparing Values

Time of First Successful Submission: 2026-04-11 14:31:42

Comparing Characters

Time of First Successful Submission: 2026-04-11 14:34:56

Conditional Control Flow

Time of First Successful Submission: 2026-04-11 14:39:33

Comparing Strings

Time of First Successful Submission: 2026-04-11 14:42:46

Reverse the Password

Time of First Successful Submission: 2026-04-11 14:47:58

Conditionals Without Conditionals

Time of First Successful Submission: 2026-04-11 15:08:43

Looping

Time of First Successful Submission: 2026-04-11 16:15:43

Reverse the Calculation

Time of First Successful Submission: 2026-04-11 16:19:55

Reverse the Reverse

Time of First Successful Submission: 2026-04-11 16:20:57

Dealing with Bitwise Operations

Time of First Successful Submission: 2026-04-11 16:22:30

Loops on Data

Time of First Successful Submission: 2026-04-11 16:24:15

set-register

Time of First Successful Submission: 2026-04-11 16:53:36

set-multiple-registers

Time of First Successful Submission: 2026-04-11 16:55:29

add-to-register

Time of First Successful Submission: 2026-04-11 16:57:22

linear-equation-registers

Time of First Successful Submission: 2026-04-11 16:58:59

integer-division

Time of First Successful Submission: 2026-04-11 17:03:12

modulo-operation

Time of First Successful Submission: 2026-04-12 03:28:05

set-upper-byte

Time of First Successful Submission: 2026-04-12 03:29:52

efficient-modulo

Time of First Successful Submission: 2026-04-12 03:37:16

byte-extraction

Time of First Successful Submission: 2026-04-12 03:43:10


GCA CTF

12 / 104 2276 / 44126


Using the Terminal

Time of First Successful Submission: 2026-04-05 08:21:19

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-05 08:31:36

Using the GUI Desktop

Time of First Successful Submission: 2026-04-05 08:39:28

Pasting into the Desktop

Time of First Successful Submission: 2026-04-05 08:40:50

Connecting over SSH

Time of First Successful Submission: 2026-04-05 08:49:43

Restarting Challenges

Time of First Successful Submission: 2026-04-05 08:54:07

Getting Help

Time of First Successful Submission: 2026-04-05 08:59:18

Challenge Programs

Time of First Successful Submission: 2026-04-07 14:52:55

The Flag File

Time of First Successful Submission: 2026-04-07 14:53:54

Using Privileged Mode

Time of First Successful Submission: 2026-04-07 14:56:08

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-07 14:58:21

Persistent Home Directories - Two

Time of First Successful Submission: 2026-04-07 14:58:48