Writeup #LeHACK 2019, 103spx

Twitter Facebook Google Plus Linkedin email

Autre challenge réussi à la sueur de mon front, ce challenge était beaucoup plus intéressant et m’a donné un peu de fil à retordre. Voyons donc comment je m’en suis sorti.

Le fichier à récupérer s’appelle « USB_a_analyser », sans extension, il fait 247Mo. File nous donne une première indication de ce à quoi on a affaire :

On a vraisemblablement affaire à une image d’un disque, mais les choses se compliquent quand on tente de faire l’inventaire détaillé des partitions :

J’attaque un basique « strings », et je vois un message intéressant :

Beaucoup d’informations ici, on sait donc qu’il faut récupérer un fichier qui a été chiffré avec openssl avec le mot de passe mentionné. Certes on a pas le nom du fichier, ni l’algorithme utilisé, mais on s’en préoccupera plus tard. Dans ma trousse à outils il y a donc binwalk et foremost, qui se font un plaisir d’analyser le contenu d’un fichier pour en extraire d’autres. J’ai déjà pu extraire des photos cachées dans d’autres photos. Ils me trouvent des pages web avec photos de mobylettes (le nom du challenge n’est pas là par hasard), mais rien qui ressemble à un fichier chiffré avec openssl. Rien d’autre dans les strings, ce qui implique que le fichier n’est pas stocké en clair.

Il paraît qu’elle a fait rêver pas mal de jeunes 🙂

Le fichier semble contenir une ou plusieurs partitions, j’entreprends alors de chercher comment faire pour les monter directement depuis le fichier dans un dossier temporaire. Comme je l’ai dit la difficulté c’est que fdisk ne me donne pas de détails sur les offsets à indiquer pour le montage, et toutes mes recherches pointent sur le fait qu’il faut cette information. C’est alors que Djerfy me glisse une suggestion : « t’as essayé volatility ? »

A là base c’est une suite d’outils en python pour extraire quantité d’informations sur des systèmes majoritairement Windows, ce qui n’est pas si con puisque le fichier contient des partitions NTFS et FAT32. Je ne connaissais pas, je m’empresse d’installer, lis un peu la doc et l’aide embarquée, et j’en viens à ça :

Mais c’est gentil de lui donner un tel nom ! On a donc un fichier secret.xz, supprimé comme l’indiquait l’indice original car dans un dossier « .Trash-1000 », il a été mis dans la corbeille (l’auteur aurait donc pu le récupérer, mais ça serait moins drôle pour nous). Par contre, alors que je passe l’option -D je n’arrive pas à récupérer le moindre fichier, rien dans le dossier « vol_extract » créé pour ce besoin. Rageant…

J’en vient à tenter le tout pour le tout : je monte directement le fichier dans un dossier avec le type ntfs. Ma surprise fut totale quand j’ai vu la commande se terminer sans erreur :

Eh oui, notre secret.xz est bien là. Je le copie donc sur mon disque, et l’extrait. Le fichier a bien été chiffré avec openssl :

Nous voilà donc à la phase finale : identifier l’algo utilisé pour chiffrer le secret. Le souci, c’est que ça va être trop compliqué d’aborder ça de manière artisanale :

On le voit dans la partie « Cipher commands », y’a du monde, je ne me vois pas tout faire à la main un par un. Et rien dans le contenu du fichier ne permet de guider un type d’algo plutôt qu’un autre.

J’ai donc extrait la liste de ces cipher commands, organisées dans un fichier, et j’ai là aussi tapé un script à l’arrache pour faire le boulot :

J’ai en résultat, un fichier par cipher. Alors y’a beaucoup de fichiers, et malgré une taille identique pour beaucoup d’entre eux, la somme de contrôle me dit qu’ils sont tous différents. Je me rabats donc sur un classique mais toujours efficace grep afin de pouvoir identifier mon vainqueur :

Et voilà 🙂

9
Poster un Commentaire

avatar
5 Fils de commentaires
4 Réponses de fil
2 Abonnés
 
Commentaire avec le plus de réactions
Le plus populaire des commentaires
7 Auteurs du commentaire
Seboss666kaioGIlPauloTitanex Auteurs de commentaires récents
  S’abonner  
plus récent plus ancien
Notifier de
Cascador
Invité
Cascador

Yo,

Très sympa, ça commence à me donner envie de m’y mettre. Un truc que j’ai pas pigé, à quoi correspond lh_ ?

Tcho !

BZHugs
Invité
BZHugs

C’est le format du flag qu’il y avait lors de l’événement LeHack https://lehack.org/fr

Titanex
Invité
Titanex

Tu avais aussi testdisk pour récupérer les fichiers. C’est immédiat avec ce tool.

Paulo
Invité
Paulo

Avec FTK Imager j’ai fait le chall en 10min même pas. Excellent outil.

GIl
Invité
GIl

Aaaah, une 103SPX avec refroidissement liquide, ça vait plus de gueule que les scooters non ?

kaio
Invité
kaio

Bonjour,
Merci pour ce retour top top,
Peux-tu mettre le fichier source ? 🙂