K41r0 Escape Game
The K41r0
escape game is a hacking-themed escape game. It was designed to educate people about cyber risks in their private lives in a passive way, meaning participants aren't actively looking to learn. They play, but by playing, they will learn without even realizing it.
Players will understand the techniques attackers use to target them. With this knowledge, they will be able to protect their privacy and that of their loved ones. They will also learn to recognize common attacks and their impact in personal or professional environments. Perhaps, they will start asking more questions in the future.
A large puzzle, in multiple stages, is already well-developed and ready to use. However, the beginning is missing, allowing you to customize it if you'd like. Otherwise, I will explain how I created the start so you can replicate it. This also allows you to adjust the length of the escape game to your preference.
This escape game is challenging. To make it medium or easy in difficulty, the game master will need to provide hints to the players. You will find these hints below.
Steps
- Go to the following page: https://mauricelambert.github.io/EscapeGames/K41r0/, where you will find the scenario and instructions for the players. From there, players can click on the
start
button and begin the escape game, on this page: https://mauricelambert.github.io/EscapeGames/K41r0/login.html.
- A password is needed on this page. The earlier instructions hint that it can be found by solving a first puzzle away from the computer. You can create your own way to access the password. Otherwise, here's how I designed the first puzzle.
- [Not implemented] A box locked with a padlock is placed on the table, but without the key. The instructions say to search for something unusual in the surroundings. In my case, the players were outside, near a garden. In that garden, I had planted a pink plastic pineapple that opens. When the players open the pineapple, they discover that the keys are inside, along with a cork stopper... They cannot remove the pineapple from the ground, so they can't tip it over. It's too complicated to pull it out with sticks... They will need to find a clever solution to get the keys: filling the pineapple with water will cause the keys to float, allowing them to retrieve them. Of course, you might not have a pineapple or a garden, but that's not a problem. You can use objects like a water bottle or a baby bottle, which have shapes that work well for this kind of puzzle. The instructions mention an item that is out of place, not necessarily a garden or a pineapple, so it's easy to adapt the puzzle in your own way.
- [Not implemented] Once in possession of the keys, the players can open the box, which contains a small plastic case, inside which there is a small electronic module called Digispark (the Digispark module on Amazon, which can be purchased for around $3 each online). I programmed the module so that it can automatically type the password on the computer when plugged in, as explained here: https://github.com/mauricelambert/Talk1.BankSecurity#user-content-how-to-build-you-own-sneaky-rubber-ducky. Once the password is typed (password is:
0xK41r0
), the players can press the Enter key and proceed to the next part of the puzzle. This will also be the moment to start the countdown or to plug in the end-of-game electronic module (which does the countdown).
- The players reach a page where a clue is written, related to a decoding process, followed by an empty space. They can display additional elements by clicking on the 4 green buttons at the top of the page. On the second page, they will see a second clue of a philosophical nature, related to emptiness and invisibility. They will need to return to the first page to discover the invisible text in the void (by selecting the text with the mouse or pressing Ctrl+A).
- The text doesn't mean anything, but as a reminder, the first clue is a decoding process. The process is relatively simple: characters at even indices form the beginning of the text, and characters at odd indices form the end. They can apply it manually with paper and a pen or using a notepad application, but be careful, they need to count spaces and line breaks (as the game master, make sure to give them this information, it's important)! If one of the players knows about computers, they can save their team some time with a line of code (for example, in Python it is possible to display the text with this line:
b = """<paste text here>"""; print(b[::2] + b[1::2])
). The text thus obtained is the following:
As agreed
I've connected the data
To the new account and hooked up the paper
Shredder to this account.
The protection remains the same.
Since you unlocked it,
You've loaded paper, and
The countdown has started.
Because it is very fragile,
It cannot be moved or unplugged.
If an error occurs, you must follow the instructions
To disarm it,
Bend down under the machine
You will need light and
When reaching for the safety handle, beware of moisture
The heat of a summer day,
We wouldn't want you to get hurt. Next, enter your user ID
Along with the 4-digit secret code
And the page you no longer wish to destroy
That you'll need to identify
Must be removed and then placed
Within my data.
- Once the first part of the decoding is completed: "Divided into two halves along one path, to reveal a false meaning's mask.", they get a text with meaning, but without any importance. They now need to decode the meaning with the clue: "Then slice one half along another way, to uncover truth where shadows play." They need to take every other line starting from the second one. The word "matrix" is used to guide the players to columns (represented by the characters) and then to rows. So, they will have already processed one meaning: that of the columns by taking the characters, and this step processes the second meaning, that of the rows. The text thus obtained is the following:
I've connected the data
Shredder to this account.
Since you unlocked it,
The countdown has started.
It cannot be moved or unplugged.
To disarm it,
You will need light and
The heat of a summer day,
Along with the 4-digit secret code
That you'll need to identify
Within my data.
- The previous action gives the instructions for the last riddle, which allows disarming the data destructor to preserve it. The last riddle contains 3 steps: the first consists of finding the secret disarm code, the second allows finding the necessary temperature for disarming, and the third to find the light level needed for disarming. In the original escape game, I had built an electronic module. When the players set the potentiometer (4-digit secret code) to the correct value, raised the temperature above the required temperature, and set the light level above the required level without making the module shake (a piezoelectric sensor verified that the vibrations were low enough not to trigger destruction), the escape was solved. To best illustrate this electronic module, I created a web interface that allows modifying the temperature, the light level, and the potentiometer value, and detecting changes that are too large, simulating vibrations that make the players restart.
- Now that we know what the players need to do, let's see how to solve the riddles. The data in the Informations section needs to be analyzed, and the players should keep in mind the statement:
and then replicate a part of my investigation to uncover gang members still hidden in the shadows.
They must therefore identify the gang members from the information they have. By observing closely, they see that the phone numbers are consecutive... or almost, as there are gaps. One can deduce that the gang bought a batch of prepaid phones... and that the numbers follow a sequence. This is the key to solving the riddles, as the missing phone numbers belong to the still unknown gang members.
- All the riddles work the same way, the phone numbers are the key. The players must identify the missing digits in the correct order to obtain the 4-digit code, which forms the secret code for disarming and allows setting the potentiometer to the correct value. The phone numbers are:
+44 7300 899999
for -1
, +44 7300 900008
for 8
, +44 7300 900002
for 2
, +44 7300 900004
for 4
, +44 7300 900003
for 3
, +44 7300 900010
for 10
, +44 7300 900001
for 1
, +44 7300 900007
for 7
. The missing numbers are therefore in this order: 0956
(after +44 7300 899999
, there is the number +44 7300 900000
, which does not appear and allows finding the number 0
; after +44 7300 900008
, there is the number +44 7300 900009
, which does not appear and allows finding the number 9
; +44 7300 900002
represents 2
, but +44 7300 900003
represents 3
, which is present; +44 7300 900004
represents 4
, but 5
and 6
are missing, and these are the last two digits of the secret code). Therefore, the potentiometer must be set to 0956
(thus 956
).
- Now the players need to find the temperature. By observing closely, there are 2 descriptions with the flame emojis, which symbolize heat. The first is on the number
+44 7300 900003
which represents 3
with 2 emojis, the second is +44 7300 900007
which represents 7
with a single flame emoji. 2 emojis represent the tens place, and 1 emoji represents the ones place, giving us 37
. Therefore, the temperature needs to be set to 37 degrees.
- Finally, the players will need to read the descriptions until they find a suspicious one, that of
+44 7300 900002
because it contains the word light
three times. Upon closer inspection of the other descriptions for the word light
, we see that +44 7300 900008
contains 2 occurrences, +44 7300 900003
contains 1 occurrence of the word light
, and all the others contain 0. This is the key for the light level: 283
(+44 7300 900002
represents 2
with 3 occurrences, which indicates the hundreds place; +44 7300 900008
represents 8
with 2 occurrences for the tens place, and finally +44 7300 900003
with 1 occurrence for the ones place).
- All that's left is to heat the temperature sensor, increase the brightness detected by the light sensor, and set the potentiometer to the correct value, all without making the module shake! If you haven't built the module, you can use the Hardware page provided in the escape game. Congratulations, you have successfully found and saved the data!
Clues
Advanced Level
- Explain that spaces and line breaks need to be considered, and mention that if someone knows computer science, they can perform the decoding with a computer to save time.
Medium Level
- The clues from the advanced level
A matrix is an array containing columns and rows.
The phone numbers are the key to the steps of the final puzzle.
Easy Level
- The clues from the advanced and medium levels
Each character in a line of text can be seen as a column in a matrix.
A sequence with missing numbers from -1 to 10 inclusive can indicate a code with the missing digits.
Beginner Level
- The clues from the advanced, medium, and easy levels
One direction in a matrix can be seen as columns, the second direction would be rows.
Key symbols and repetitions of key words can indicate digits and their occurrences can define the position to form a numeric value.
Cyber Techniques
- The first technique is a USB key that writes by itself when plugged in. Showing this technique is important because it allows you to take control of a computer in less than 4 seconds, highlighting the importance of always locking your session even if you step away for a moment to grab a coffee or retrieve something nearby.
- Various OSINT techniques that allow you to find a person from their photos (including profile pictures), pseudonyms, name, phone number, or email address. The message is simple: limit your photos, use different pseudonyms on platforms, limit the exposure of your name online (and if possible, never with a photo of you), use different email addresses (one per pseudonym), use multiple phone numbers (one per pseudonym).
- It is possible to trap someone by making them click on a link. Never click on a link, whether by message or email.
- Fake websites can be created where you are asked to enter login credentials. If someone enters these credentials, the attacker can reuse them to take control of the real account. Always verify the legitimacy of a website before entering passwords!
- It is possible to get someone to download and execute files to take control of their computer or phone. Never download files and never click on them !
K41r0 Escape Game
L'escape game K41r0
est un jeu d'escape game sur le thème du hacking. Il a été conçu dans le but de former les gens aux risques cyber dans leur vie privée de manière passive, c'est-à-dire que les participants ne cherchent pas à se former activement. Ils jouent, mais en jouant, ils se formeront sans le savoir.
Les joueurs comprendront les techniques que les attaquants utilisent pour les cibler. Grâce à ces informations, ils pourront protéger leur vie privée ainsi que celle de leurs proches. Ils apprendront à reconnaître certaines attaques courantes et à en mesurer les impacts dans les milieux personnels ou professionnels. Peut-être se poseront-ils davantage de questions à l'avenir.
Une grande énigme, en plusieurs étapes, est déjà bien développée et prête à l'emploi. Il manque cependant le début, ce qui vous permet de le personnaliser si vous le souhaitez. Sinon, je vous expliquerai comment j'ai conçu l'introduction afin que vous puissiez la reproduire. Cela permet aussi d'ajuster la durée de l'escape game, en fonction de vos préférences.
Ce jeu est complexe. Pour le rendre de niveau moyen ou facile, le maître du jeu devra fournir des indices aux joueurs. Vous trouverez ces indices ci-dessous.
Étapes
- Rendez-vous sur la page suivante : https://mauricelambert.github.io/EscapeGames/K41r0/, où vous trouverez le scénario et les instructions pour les joueurs. À partir de là, les joueurs pourront cliquer sur le bouton
start
et commencer l'escape game, sur cette page : https://mauricelambert.github.io/EscapeGames/K41r0/login.html.
- Un mot de passe est requis sur cette page. Les joueurs comprendront, grâce aux instructions précédentes, qu'il se trouve dans une première énigme à résoudre sans l'aide de l'ordinateur. Vous pouvez inventer votre propre méthode pour accéder au mot de passe. Sinon, voici comment j'ai conçu cette première énigme.
- [Non implémenté] Une boîte fermée par un cadenas est posée sur la table, mais sans la clé. Les instructions disent de rechercher un élément anormal dans l'entourage. Dans mon cas, les joueurs étaient à l'extérieur, près d'un potager. Dans ce potager, j'avais planté un ananas en plastique rose qui s'ouvre. Lorsque les joueurs ouvrent l'ananas, ils découvrent que les clés sont à l'intérieur, accompagnées d'un bouchon en liège... Ils ne peuvent pas retirer l'ananas du sol, donc ils ne peuvent pas le renverser. Il est trop compliqué de le sortir avec des bâtons... Ils devront donc trouver une solution astucieuse pour récupérer les clés : remplir l'ananas d'eau, ce qui fera flotter les clés, et ils pourront ainsi les sortir. Bien sûr, vous n'aurez peut-être pas d'ananas ni de potager, mais ce n'est pas un problème. Vous pouvez utiliser des objets comme une gourde ou un biberon, dont la forme est idéale pour ce genre d'énigme. Les instructions mentionnent un élément qui n'est pas à sa place, pas nécessairement un potager ou un ananas, donc il est facile de reproduire cette énigme à votre façon.
- [Non implémenté] Une fois en possession des clés, les joueurs peuvent ouvrir la boîte, qui contient un petit boîtier en plastique, lequel contient lui-même un petit module électronique appelé Digispark (le module Digispark sur Amazon, que vous pouvez acheter pour environ 3 $ l'unité sur Internet). J'ai programmé ce module pour qu'il puisse écrire tout seul le mot de passe sur l'ordinateur dès son branchement, comme expliqué dans ce lien : https://github.com/mauricelambert/Talk1.BankSecurity#user-content-how-to-build-you-own-sneaky-rubber-ducky. Une fois le mot de passe écrit (le mot de passe est:
0xK41r0
), les joueurs peuvent appuyer sur le bouton Entrée et accéder à la suite de l'énigme. Ce sera également le moment de lancer le compte à rebours ou de brancher le module électronique de fin de partie (qui fait le compte à rebours).
- Les joueurs arrivent sur une page où un indice est écrit, concernant un processus de décodage, suivi d'un espace vide. Ils peuvent afficher d'autres éléments en cliquant sur les 4 boutons verts en haut de la page. Sur la seconde page, ils verront un second indice de nature philosophique, portant sur le vide et l'invisibilité. Ils devront revenir sur la première page pour découvrir le texte invisible dans le vide (en sélectionnant le texte avec la souris ou en appuyant sur Ctrl+A).
- Le texte ne veut rien dire, mais pour rappel, le premier indice est un processus de décodage. Le processus est relativement simple : ils doivent prendre un caractère sur deux, ces premiers caractères forment le début du texte et les autres caractères forment la fin. Ils pourront l'appliquer manuellement avec un papier et un crayon ou une application de bloc-notes, mais attention, il faut compter les espaces et les sauts de ligne (en tant que maître de jeu, donnez-leur cette information, c'est important) ! Si un des joueurs connaît l'informatique, il peut aussi faire gagner du temps à son équipe avec une ligne de code (par exemple, en Python il est possible d'afficher le texte avec cette ligne :
b = """<coller le texte ici>"""; print(b[::2] + b[1::2])
). Le texte ainsi obtenu est le suivant :
As agreed
I've connected the data
To the new account and hooked up the paper
Shredder to this account.
The protection remains the same.
Since you unlocked it,
You've loaded paper, and
The countdown has started.
Because it is very fragile,
It cannot be moved or unplugged.
If an error occurs, you must follow the instructions
To disarm it,
Bend down under the machine
You will need light and
When reaching for the safety handle, beware of moisture
The heat of a summer day,
We wouldn't want you to get hurt. Next, enter your user ID
Along with the 4-digit secret code
And the page you no longer wish to destroy
That you'll need to identify
Must be removed and then placed
Within my data.
- Une fois la première partie du décodage effectuée : "Divided into two halves along one path, to reveal a false meaning's mask.", ils obtiennent un texte avec un sens, mais sans aucune importance. Ils doivent maintenant décoder le sens avec l'indice : "Then slice one half along another way, to uncover truth where shadows play." Il suffit de prendre une ligne sur deux en partant de la 2ème. Le mot "matrix" est utilisé pour que les joueurs pensent aux colonnes (représentées par les caractères) puis aux lignes. Donc, ils auront déjà traité un sens : celui des colonnes en faisant les caractères, et cette étape traite le second sens, celui des lignes. Le texte ainsi obtenu est le suivant :
I've connected the data
Shredder to this account.
Since you unlocked it,
The countdown has started.
It cannot be moved or unplugged.
To disarm it,
You will need light and
The heat of a summer day,
Along with the 4-digit secret code
That you'll need to identify
Within my data.
- L'action précédente permet d'avoir les instructions pour la dernière énigme, celle qui permet de désamorcer le destructeur de données pour les préserver. La dernière énigme contient 3 étapes : la première consiste à trouver le code secret de désarmorcage, la seconde permet de trouver la température nécessaire au désarmorcage, la troisième de trouver le niveau de luminosité au désarmorcage. Dans l'escape game original, j'avais construit un module électronique. Lorsque les joueurs positionnaient le potentiomètre (code secret à 4 chiffres) sur la bonne valeur, élevaient la chaleur au-dessus de la température demandée et le niveau de lumière au-dessus du niveau demandé sans faire trembler ce module (un capteur piezo électrique permettait de vérifier que les tremblements étaient suffisamment faibles pour ne pas déclencher la destruction), l'escape game se terminait. Pour illustrer au mieux ce module électronique, j'ai créé une interface web permettant de modifier la température, le niveau de luminosité et la valeur du potentiomètre ainsi que de détecter des modifications trop importantes pour simuler des vibrations qui font recommencer les joueurs.
- Maintenant que nous savons ce que les joueurs doivent effectuer, nous allons voir comment résoudre les énigmes. Il faut analyser les données dans la partie Informations, les joueurs doivent garder à l'esprit l'énoncé qui indique :
and then replicate a part of my investigation to uncover gang members still hidden in the shadows.
, il faut donc identifier à partir des informations que l'on a des personnes du gang. En observant bien, on voit que les numéros de téléphone se suivent... ou presque, car il y a des trous. On peut donc comprendre que le gang a acheté un lot de téléphones prépayés... et que les numéros se suivent. C'est la clé pour résoudre les énigmes, car les numéros de téléphones manquants appartiennent aux membres du gang encore inconnus.
- Toutes les énigmes fonctionnent de la même manière, les numéros de téléphone sont la clé. Les joueurs doivent identifier les chiffres manquants dans le bon ordre pour obtenir le code à 4 chiffres, qui forme le code secret permettant le désarmorcage, et permettant de donner la bonne valeur au potentiomètre. Les numéros de téléphone sont :
+44 7300 899999
pour -1
, +44 7300 900008
pour 8
, +44 7300 900002
pour 2
, +44 7300 900004
pour 4
, +44 7300 900003
pour 3
, +44 7300 900010
pour 10
, +44 7300 900001
pour 1
, +44 7300 900007
pour 7
. Ils manquent donc les numéros suivants dans cet ordre : 0956
(après +44 7300 899999
, il y a le numéro +44 7300 900000
, qui n'apparaît pas et qui permet donc de trouver le numéro 0
; après +44 7300 900008
, il y a le numéro +44 7300 900009
, qui n'apparaît pas et qui permet donc de trouver le numéro 9
; le +44 7300 900002
représente le 2
, mais le +44 7300 900003
représentant le 3
est bien présent, le +44 7300 900004
représente le 4
, mais le 5
et le 6
n'y sont pas, ce sont donc les deux derniers chiffres du code secret). Il faut donc utiliser le potentiomètre pour mettre la valeur 0956
(donc 956
).
- Maintenant les joueurs doivent trouver la température, en observant bien, il y a 2 descriptions avec les emojis flamme, symbole de chaleur. La première sur le numéro
+44 7300 900003
qui représente le 3
avec 2 emojis, la seconde est +44 7300 900007
qui représente le 7
avec un seul emoji flamme. 2 emojis pour dire le chiffre des dizaines et 1 emoji pour le chiffre des unités, cela donne 37
. Il faut donc monter la température à 37 degrés.
- Pour finir, les joueurs vont devoir lire les descriptions jusqu'à trouver une description suspecte, celle du
+44 7300 900002
car elle contient 3 fois le mot light
. En regardant mieux les autres descriptions à la recherche du mot light
, on voit que la +44 7300 900008
contient 2 occurrences, la +44 7300 900003
contient 1 occurrence du mot light
et toutes les autres 0... C'est la clé pour le niveau de lumière : 283
(+44 7300 900002
représente 2
avec 3 occurrences, cela indique le chiffre des centaines ; +44 7300 900008
représente le 8
avec 2 occurrences pour le chiffre des dizaines et enfin +44 7300 900003
avec 1 occurrence pour le chiffre des unités).
- Il n'y a plus qu'à faire chauffer le capteur de température, augmenter la luminosité détectée par le capteur de lumière et mettre le potentiomètre sur la bonne valeur, le tout sans faire bouger le module ! Si vous n'avez pas construit le module, vous pouvez utiliser la page web Hardware fournie dans l'escape game. Félicitations, vous avez réussi à trouver et sauver les données !
Indices
Niveau compliqué
- Expliquez qu'il faut bien prendre en compte les espaces et les sauts de ligne, et indiquez que si l'une des personnes connaît l'informatique, elle peut effectuer le décodage avec l'ordinateur pour gagner du temps.
Niveau moyen
- Les indices du niveau compliqué
Une matrice est un tableau contenant des colonnes et des lignes.
Les numéros de téléphone sont la clé des étapes de la dernière énigme.
Niveau facile
- Les indices du niveau compliqué et moyen
Chaque caractère d'une ligne de texte peut être vu comme une colonne dans une matrice.
Une suite à trous de -1 à 10 inclus peut indiquer un code avec les chiffres manquants.
Niveau débutant
- Les indices du niveau compliqué, moyen et facile
Un sens dans une matrice peut être vu comme les colonnes, le second sens serait donc des lignes.
Des symboles clés et des répétitions de mots clés peuvent indiquer des chiffres et leurs occurrences peuvent définir la position pour former une valeur numérique.
Techniques cyber
- La première technique est une clé USB qui écrit tout seul au branchement. Montrer cette technique est important à mon sens car elle permet de prendre le contrôle d'un ordinateur en moins de 4 secondes, cela montre bien aux gens que même pour aller se faire un café ou récupérer un objet à côté, il faut toujours verrouiller sa session.
- Différentes techniques d'OSINT, qui permettent de retrouver une personne à partir de ses photos (y compris celles de profil), de ses pseudonymes, du nom, du numéro de téléphone ou de l'adresse mail. Le message est donc simple : limitez les photos de vous, utilisez des pseudonymes différents sur les plateformes, limitez l'exposition de votre nom sur internet (et si possible jamais en lien avec une photo de vous), utilisez différentes adresses mail (une par pseudo), utilisez plusieurs numéros de téléphone (un par pseudo).
- Il est possible de piéger une personne en la faisant cliquer sur un lien. Ne cliquez jamais sur un lien, que ce soit par message ou par mail.
- Il est possible de créer de faux sites où il est demandé d'entrer des identifiants. Si une personne entre ces identifiants, l'attaquant pourra les réutiliser pour prendre le contrôle du vrai compte. Vérifiez toujours la légitimité du site avant d'entrer des mots de passe !
- Il est possible de faire télécharger et exécuter des fichiers à une personne pour prendre le contrôle de son ordinateur ou de son téléphone. Ne téléchargez jamais de fichiers et ne cliquez jamais dessus !