Aller au contenu principal

CTF « L'affaire Duval » — Chapitre 2 : le logo piégé

Mardi 14 septembre. Un virement de 48 000 € vient de partir vers un compte inconnu. La seule piste : une pièce jointe d'apparence anodine, reçue par la comptabilité.

info

Ce chapitre 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é « Chapitre 2 : le logo piégé ». L'imprimerie « Duval », ses salariés et les fichiers sont fictifs.

attention

Ce défi se pratique uniquement sur les fichiers fournis, dans votre propre VM. Dissimuler des données pour les faire sortir d'une organisation est une infraction (article 323-3 du code pénal).

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 à l'image qui cache un secret :

  1. dans ~/tp-image-secret (à recréer avec l'étape 1 de la séance précédente s'il n'existe plus), afficher la taille de logo_catalogue.gif et de logo_catalogue_recu.gif avec ls -l
  2. chercher la signature d'une archive ZIP dans logo_catalogue_recu.gif avec grep -obUa "PK" et lire la position de la première réponse
  3. lister le contenu caché dans logo_catalogue_recu.gif avec unzip -l et relever le nom du fichier
📌 Réponse attendue

Votre mission​

Vous êtes l'administrateur système de l'imprimerie Duval. La passerelle de messagerie bloque les documents qui contiennent le mot « CONFIDENTIEL », mais laisse passer les images. Une pièce jointe reçue ressemble au logo de Noël publié sur le site de l'entreprise. Vous avez les deux fichiers : logo_noel.gif (l'original) et logo_noel_recu.gif (la pièce jointe interceptée).

Trouvez ce que cache la pièce jointe, et le code de validation qu'elle contient.

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) :

sudo apt install zip unzip openssl
mkdir -p ~/ctf-duval/chapitre2
cd ~/ctf-duval/chapitre2
CODE=a1b2c3d4
attention

Le script ci-dessous fabrique les fichiers 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 les fichiers produits.

base64 -d <<'EOF' | bash -s -- "$CODE"
Q09ERT0iJDEiCmlmIFsgLXogIiRDT0RFIiBdOyB0aGVuIGVjaG8gIlVzYWdlIDogYmFzaCAtcyAt
LSBWT1RSRV9DT0RFIiA+JjI7IGV4aXQgMTsgZmkKS0VZPSIzMjNjNmM1NDI1MTY1ZTU0YTJlOSIK
RkxBRz0kKHByaW50ZiAlcyAiJENPREUiIHwgb3BlbnNzbCBkZ3N0IC1zaGEyNTYgLWhtYWMgIiRL
RVkiIC1yIHwgY3V0IC1jMS0xMikKYmFzZTY0IC1kID4gbG9nb19ub2VsLmdpZiA8PCdGSU4nClIw
bEdPRGxoQVFBQkFJQUFBUC8vL3dBQUFDSDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9
PQpGSU4KcHJpbnRmICdDT05GSURFTlRJRUwgLSBEaXJlY3Rpb24gSW1wcmltZXJpZSBEdXZhbFxu
T2JqZXQgOiBjaGFuZ2VtZW50IGRlIFJJQiBkdSBmb3Vybmlzc2V1ciBQYXBpZXJOb3JkXG5Ob3V2
ZWF1IGNvbXB0ZSBhIHV0aWxpc2VyIGRlcyBsdW5kaSA6IEZSNzYgMzAwMCA2MDAwIDAxMTIgMzQ1
NiA3ODkwIDE4OVxuTmUgcGFzIGVuIHBhcmxlciBhIGxhIGNvbXB0YWJpbGl0ZS4gQ29kZSBkZSB2
YWxpZGF0aW9uIDogSk9MSUdPeyVzfVxuJyAiJEZMQUciID4gdmlyZW1lbnRfdXJnZW50LnR4dAp6
aXAgLXEgLVggdmlyZW1lbnQuemlwIHZpcmVtZW50X3VyZ2VudC50eHQKY2F0IGxvZ29fbm9lbC5n
aWYgdmlyZW1lbnQuemlwID4gbG9nb19ub2VsX3JlY3UuZ2lmCnJtIC1mIHZpcmVtZW50X3VyZ2Vu
dC50eHQgdmlyZW1lbnQuemlwCmVjaG8gIkZpY2hpZXJzIGNyw6nDqXMgOiBsb2dvX25vZWwuZ2lm
IGV0IGxvZ29fbm9lbF9yZWN1LmdpZiIK
EOF

Vous obtenez deux fichiers : logo_noel.gif (l'original) et logo_noel_recu.gif (la pièce jointe interceptée).

Comment jouer​

  1. Analysez les deux fichiers avec les outils vus en cours.
  2. Répondez aux questions de l'activité Joligo « Chapitre 2 : le logo piégé » : certaines portent sur le flag, d'autres sur la démarche et les bons réflexes.
  3. Le flag est le code de validation de la forme JOLIGO{...} : 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 Une image qui cache un secret. Un mauvais flag fait perdre une vie dans Joligo : réfléchissez avant de tenter au hasard, comme pour un vrai mot de passe.