Table of Contents

Practical Exam Guidelines

Organization (2025-2026):

Basic Exam Workflow

The exam is open-book, everything is permitted (including ChatGPT) except human2human conversations!

Challenges

Hints

VM MOTD

####################################################
## Welcome to the ISC CTF practical exam!         ##
####################################################

Carefully READ THE FOLLOWING INSTRUCTIONS before getting started:

0. First, we hope you've seen this: https://ocw.cs.pub.ro/courses/isc/info/practical_exam

1. Create an account on the web-based CTFd platform:

   Link: https://isc2025.root.sx

   * use your UPB email (e.g. "prenume.nume@stud.acs.upb.ro" -- the domain is
     irrelevant, just the Moodle username counts!);
   * use whatever pseudonym you wish as username.

2. On this VM, run `sudo isc_prepare_exam MOODLE_USERNAME` (replace
   variable with your moodle username similar to the part before the '@'
   of the email above -- MANDATORY, otherwise the flags won't work)!

   After running the prepare command, you will find the custom tasks in
   `~/challenges/` subdirectory.

3. It would be a good idea to test that you have correctly filled in the same Moodle
   ID on the CTFd interface & prepare argument.

   For this, you can use the free flag from the `test` challenge and copy it to
   the CTFd platform. If everything went according to plan, it should be accepted 
   as the correct flag (but gives 0 points and doesn't count towards your final grade!)

   You should also practice copy+pasting on Guacamole:
   https://guacamole.apache.org/doc/gug/using-guacamole.html#copying-pasting-text
   TLDR: press Ctrl+Shift+Alt to display the side menu, the same to close it!
   (ask the assistants for help if you can't find it)

   Note: ALL flags have the same format, "ISC{...}", and length (with a single
   exception about length only, for the `osint` challenge)!

4. For each task tried / solved, please leave the scripts you used on the VM.

   !!!IMPORTANT!!! For backup/safety reasons, you should also create a `flags.txt`
   file inside challenges directory to store them all (you might also wish to copy
   them locally)! Please prefix them with the name of the task (e.g., 
   `aes_rsa: ISC{asd_1337_xyz}`).

   This is in case the CTFd platform crashes and loses its database (happened 2 years
   ago :D).

GL HF!