**Un StormDéveloppeur de la Nécropole Stellaire a été corrompu et a donné un accès à distance à l'un des ordinateurs de cette dernière.**
À vous, équipe ForenSith d'éplucher le blog du StormDéveloppeur corrompu et retrouver comment l'attaquant a pu accéder à l'ordinateur compromis.
Suite à l'incident qui a causé la destruction partielle du croiseur de commandement impérial, le 'Dominator', les premières analyses ont révélé qu'un accès non autorisé a été obtenu par l'attaquant. Ce dernier aurait accédé à un ordinateur de la Nécropole Stellaire via SSH, permettant son attaque. Un StormDéveloppeur est suspecté d'avoir facilité cette intrusion. En tant que membre de l'équipe ForenSith de la Nécropole Stellaire, votre rôle est d'analyser le blog du StormDéveloppeur suspect et de trouver des preuves prouvant son implication.
Retrouvez la clef SSH de l'ordinateur compromis.
L'exercice 1 du scénario 1 est un exercice de stéganographie sur un site Web. Lorsque l'on démarre l'exercice, on arrive sur une page web d'un blog sur Stellar Wars.

En se rendant tout en bas du site web, on observe dans le pied de page un texte indiquant "Mentions légales".

En cliquant dessus, on télécharge un zip nommé "data.zip" en le dézippant, trois nouvelles archives apparaissent. 2 de ces archives ont besoin d'un mot de passe pour pouvoir extraire leur contenu.

L'une des archives se nomme "step1.tar.gz" et est la seule archive à ne pas demander de mot de passe. En extrayant son contenu, on tombe sur un dossier contenant d'autres dossiers, pour un total de plus 250 000 dossiers.

On veut donc afficher tous les fichiers présents dans ces dossiers (il y a un peu plus d'une centaine de fichiers contenant des citations de Star Wars), on utilise la commande find pour tous les trouver :
find . -type f

En les regardant, on remarque qu'ils ne contiennent que des lettres majuscule ou minuscule. Pas de caractère spéciaux, pas de chiffre... Sauf un seul et unique fichier sobrement nommé "1" :

En outre nous pouvons également trouver ce fichier en cherchant le plus gros fichier ou celui ayant le plus de lignes :
find Ym -type f -printf "%s %p\n" | sort -nr | head -1
find Ym -type f -exec wc -l {} + | sort -nr | sed '1d' | head -1
On affiche donc son contenu :

Le fichier contient également la clé directement écrite en utilisant des Zero-Width Joiner / NonJoiner (visible dans vim ou avec cat -e). Le joueur peut donc également créer un script pour avoir la réponse directement.
Son contenu est une énigme à résoudre pour finir l'étape 1. L'énigme fait référence au chemin du fichier :
Ym/dw/KoQun/gQ/xoG/Vs/soOW/yXg/WBvi/nT/YkzA/qPA/SB/fzgpc/AXwi/Zra/xkmV/1
En essayant le chemin ci-dessus comme mot pour les 2 autres archives, l'archive "aes-256-cbc.zip" se déverrouille, nous laissant accéder à son contenu.

L'archive ne contient qu'un fichier chiffré "encrypted_id_ed25519" en AES-256-CBC. Il faut donc désormais trouver le vecteur d'initialisation et la clef pour pouvoir le déchiffrer.
Pour trouver le vecteur d'initialisation, on doit retourner sur le site. On observe que différents articles sont disponibles :

Lorsqu'on va sur l'article "Les Fleurs Galactiques", on peut lire un poème.
Si on sélectionne le poème, on remarque la présence anormale de nombreux espaces :

Ces espaces sont en faites du "whitespace code". On peut le décoder avec différents outils, par exemple en ligne avec le site "https://www.dcode.fr/langage-whitespace" :

En le décodant, on obtient le texte "Sp@c3Sh1p", c'est le mot de passe de la deuxième archive qu'on a obtenu plus tôt "init_vector.zip".

L'archive contient un simple fichier "iv.txt" contenant l'init vector pour déchiffrer notre fichier "encrypted_id_ed25519".

Pour mettre la main sur la clef, dernière élément manquant pour déchiffrer le fichier "encrypted_id_ed25519", il faut aller sur la page d'accueil du site web et analyser un peu les éléments.

On remarque que l'image avec le texte "STELLAR WARS" au sommet de la page d'accueil cache un évènement, et lorsqu'on clique dessus, quelque chose apparaît dans la console (attention, la console est effacée après 7,5 secondes) :

On a finalement la clef, le dernier élément manquant pour déchiffrer notre fichier "encrypted_id_ed25519".
On déchiffre enfin le fichier pour obtenir la clef ssh (flag de l'exercice) et résoudre l'exercice 1 :
