Aller au contenu principal

CTF « Le courriel suspect du Club ÉtoileSport »

Lundi, 7 h 12. Plusieurs adhérents du Club ÉtoileSport reçoivent un message qui leur demande de renouveler leur licence « avant minuit ». Une adhérente vous transmet le courriel, enregistré au format .eml. Est-ce vraiment le club qui écrit ?

info

Ce défi est un CTF (Capture The Flag) : il n'y a pas d'étapes guidées. Vous cherchez, vous trouvez un flag (un mot caché), puis vous le saisissez dans l'application Joligo, dans l'activité « Le courriel suspect ». Le club, ses adhérents, ses domaines et le courriel sont fictifs (les domaines en .example n'existent pas).

attention

Ce défi s'effectue uniquement sur le fichier fourni. Ne cliquez jamais sur le lien d'un vrai message suspect, ne répondez pas, et ne saisissez jamais vos informations : transmettez-le à votre service informatique.

Petite vérification​

Avant de commencer, vérifiez si vous savez encore réaliser ces 3 actions très simples, sur la séance précédente consacrée aux données personnelles :

  1. citer deux exemples de données à caractère personnel d'un adhérent d'un club de sport
  2. citer une donnée qui relève d'une catégorie particulière (donnée sensible) dans un club de sport
  3. dire ce qu'indique la colonne « Finalité » d'un registre des traitements
📌 Réponse attendue

Votre mission​

Vous êtes le référent informatique du club. Le fichier message_suspect.eml est le courriel reçu, tel que l'a enregistré la messagerie : en-têtes complets, corps HTML et une pièce jointe.

Analysez-le comme à la séance sur le phishing : qui écrit réellement ? où mène vraiment le lien ? que demande la pièce jointe ? Trouvez le code de référence que le lien transporte.

Le matériel​

Chaque participant reçoit un flag personnel : inutile de comparer avec vos voisins, le vôtre ne marcherait pas chez eux. Dans l'application Joligo, ouvrez l'onglet Profil et relevez votre code personnel (8 caractères, carte « Mon code personnel (défis CTF) »).

Dans votre VM Debian (remplacez a1b2c3d4 par votre code) :

mkdir -p ~/ctf-courriel
cd ~/ctf-courriel
CODE=a1b2c3d4
attention

Le script ci-dessous fabrique le courriel du scénario (c'est le travail du « méchant » de l'histoire). Ne le décodez pas pour le lire : ce serait lire la solution avant d'avoir cherché. Analysez le fichier produit.

base64 -d <<'EOF' | bash -s -- "$CODE"
Q09ERT0iJDEiCmlmIFsgLXogIiRDT0RFIiBdOyB0aGVuIGVjaG8gIlVzYWdlIDogYmFzaCAtcyAt
LSBWT1RSRV9DT0RFIiA+JjI7IGV4aXQgMTsgZmkKS0VZPSJhN2Y2ZGJiMzdjZTE1MTNiOWEzNiIK
RkxBRz0kKHByaW50ZiAlcyAiJENPREUiIHwgb3BlbnNzbCBkZ3N0IC1zaGEyNTYgLWhtYWMgIiRL
RVkiIC1yIHwgY3V0IC1jMS0xMikKY2F0ID4gbWVzc2FnZV9zdXNwZWN0LmVtbCA8PEZJTgpSZWNl
aXZlZDogZnJvbSBtYWlsLmV0b2lsZXNwb3J0LXJlbm91dmVsbGVtZW50LmV4YW1wbGUgKG1haWwu
ZXRvaWxlc3BvcnQtcmVub3V2ZWxsZW1lbnQuZXhhbXBsZSBbMjAzLjAuMTEzLjQ1XSkKICAgICAg
ICBieSBteC5leGVtcGxlLmV4YW1wbGUgd2l0aCBFU01UUDsgTW9uLCAxNCBTZXAgMjAyNiAwNzox
Mjo0NCArMDIwMApSZXR1cm4tUGF0aDogPGJvdW5jZUBtYWlsZXItcHJvbW8uZXhhbXBsZT4KQXV0
aGVudGljYXRpb24tUmVzdWx0czogbXguZXhlbXBsZS5leGFtcGxlOwogICAgICAgIHNwZj1mYWls
IChkb21haW5lIGV0b2lsZXNwb3J0LmV4YW1wbGUgbidhdXRvcmlzZSBwYXMgMjAzLjAuMTEzLjQ1
KSBzbXRwLm1haWxmcm9tPW1haWxlci1wcm9tby5leGFtcGxlOwogICAgICAgIGRraW09bm9uZQpG
cm9tOiAiU2VjcmV0YXJpYXQgQ2x1YiBFdG9pbGVTcG9ydCIgPGNvbnRhY3RAZXRvaWxlc3BvcnQu
ZXhhbXBsZT4KUmVwbHktVG86IHJlbm91dmVsbGVtZW50QGV0b2lsZXNwb3J0LXJlbm91dmVsbGVt
ZW50LmV4YW1wbGUKVG86IGFkaGVyZW50QGV4ZW1wbGUuZXhhbXBsZQpTdWJqZWN0OiBEZXJuaWVy
IHJhcHBlbCA6IHJlbm91dmVsZXogdm90cmUgbGljZW5jZSBhdmFudCBtaW51aXQKRGF0ZTogTW9u
LCAxNCBTZXAgMjAyNiAwNzoxMjo0MCArMDIwMApNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5
cGU6IG11bHRpcGFydC9taXhlZDsgYm91bmRhcnk9IkVUT0lMRS1GUk9OVElFUkUiCgotLUVUT0lM
RS1GUk9OVElFUkUKQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgKQ29udGVu
dC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKPGh0bWw+PGJvZHk+CjxwPkJvbmpvdXIsPC9wPgo8
cD5Wb3RyZSBsaWNlbmNlIGV4cGlyZSBjZSBzb2lyLiBTYW5zIHJlbm91dmVsbGVtZW50IGF2YW50
IG1pbnVpdCwgdm90cmUgYWNjZXMgYXUgY2x1YiBzZXJhIHN1c3BlbmR1IGV0CnZvdHJlIGRvc3Np
ZXIgc3VwcHJpbWUuPC9wPgo8cD48YSBocmVmPSJodHRwOi8vZXRvaWxlc3BvcnQtcmVub3V2ZWxs
ZW1lbnQuZXhhbXBsZS9mb3JtdWxhaXJlP3JlZj0ke0ZMQUd9JnV0bT1yYXBwZWwiPmh0dHBzOi8v
d3d3LmV0b2lsZXNwb3J0LmV4YW1wbGUvcmVub3V2ZWxsZW1lbnQ8L2E+PC9wPgo8cD5Wb3VzIHBv
dXZleiBhdXNzaSBub3VzIHJlbnZveWVyIGxlIGZvcm11bGFpcmUgam9pbnQsIHJlbXBsaSwgZW4g
cmVwb25kYW50IGEgY2UgbWVzc2FnZS48L3A+CjxwPkxlIHNlY3JldGFyaWF0PC9wPgo8L2JvZHk+
PC9odG1sPgoKLS1FVE9JTEUtRlJPTlRJRVJFCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgbmFt
ZT0iZm9ybXVsYWlyZV9yZW5vdXZlbGxlbWVudC50eHQiCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rp
bmc6IGJhc2U2NApDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iZm9y
bXVsYWlyZV9yZW5vdXZlbGxlbWVudC50eHQiCgpSazlTVFZWTVFVbFNSU0JFUlNCU1JVNVBWVlpG
VEV4RlRVVk9WQ0JFUlNCTVNVTkZUa05GSURJd01qWUtRMngxWWlCRmRHOXBiR1ZUCmNHOXlkQ0Fv
Wkc5amRXMWxiblFnWm1samRHbG1LUW9LVFdWeVkya2daR1VnY21WdWMyVnBaMjVsY2lBNkNpMGdU
bTl0TENCd2NtVnUKYjIwc0lHRmtjbVZ6YzJVZ2NHOXpkR0ZzWlFvdElFUmhkR1VnWkdVZ2JtRnBj
M05oYm1ObENpMGdUblZ0WlhKdklHUmxJSE5sWTNWeQphWFJsSUhOdlkybGhiR1VLTFNCRGIzQnBa
U0J6WTJGdWJtVmxJR1JsSUhadmRISmxJR05sY25ScFptbGpZWFFnYldWa2FXTmhiQW90CklFbENR
VTRnY0c5MWNpQnNaU0J3Y21Wc1pYWmxiV1Z1ZENCa1pTQnNZU0JqYjNScGMyRjBhVzl1Q2c9PQoK
LS1FVE9JTEUtRlJPTlRJRVJFLS0KRklOCmVjaG8gIkZpY2hpZXIgY3LDqcOpIDogbWVzc2FnZV9z
dXNwZWN0LmVtbCIK
EOF

Vous obtenez le fichier message_suspect.eml. Ouvrez-le avec less ou cat : ne l'ouvrez jamais dans un client de messagerie.

Comment jouer​

  1. Lisez le fichier avec less, grep et base64 -d (la pièce jointe est encodée en base64). Rien ne doit être exécuté ni ouvert dans un navigateur.
  2. Répondez aux questions de l'activité Joligo « Le courriel suspect » : certaines portent sur le flag, d'autres sur la démarche et les bons réflexes.
  3. Le flag est la valeur du paramètre ref dans l'adresse réelle du lien : il contient 12 caractères (lettres a à f et chiffres). Dans Joligo, vous saisirez seulement ces 12 caractères.
Besoin d'un coup de pouce ?

Cette démarche a été vue dans la séance Phishing. La pièce jointe fait aussi appel aux notions de la séance Données personnelles. L'adresse réelle d'un lien se trouve dans l'attribut href du HTML, pas dans le texte affiché : grep -i href message_suspect.eml. Un mauvais flag fait perdre une vie dans Joligo : réfléchissez avant de tenter au hasard, comme pour un vrai mot de passe.