la cave de rick

blog où je poste des petits billets n'ayant pas leur place autre part

Challs hardware pour un softeux

November 19, 2023 — ~rickg

Ce billet de blog est disponible au format plaintext, MarkDown, org et HTM. Il est disponible uniquement en français, si vous voulez le traduire, envoyez-moi un mail avec pour sujet “traduction [article] [langue]” avec ou dans le corp du mail ou en pièce jointe la traduction au format de votre choix.


Avec Whiterose, on discutait des multiples façons de résoudre un chall lors d'un CTF. Cela est partie d'une anecdocte où une personne lui a refusé un drapeau parce qu'elle n'avait pas fait “de la bonne manière”, ce que l'on trouve stupide. Il n'y a pas de bonnes manières pour résoudre un challenge. Elle en a réalisé quelques uns qui doivent se faire avec une carte hardware à flasher (avec un firmware de sa conception). Je n'ai, malheureusement, pas ce genre de matériel chez moi. Je suis un développeur et l'hardware me fait peur. Je sais par contre faire de la rétro-ingénierie.

Reverse moi le cul

Ses challs sont des fichiers .hex qui contiennent les informations pour la carte en hexadécimal. En consultant le fichier des spécifications, il est indiqué que l'architecture est de l'AVR.

Après une rapide recherche, je tombe sur un article écrite par des étudiants de l'UBS : Reverse a Binary Code with Ghidra. Ils ont indiqué une commande pour convertir les fichiers .hex en fichier binaire. Et qui dit fichier binaire, dit strings pour pouvoir trouver des informations utiles, codées en brut. Et ça ne loupe pas, il me suffit ensuite de décoder le flag trouvé, en base 64 ou en code ASCII.

J'ai utilisé une image docker Ubuntu toute simple pour installer simplement le packet nécessaire pour pouvoir faire cette conversion.

docker run -v .:/opt/challs -ti ubuntu bash
apt update && apt install -y binutils-avr && cd /opt/challs
avr-objcopy -I ihex chall.hex -O binary chall.bin
exit

strings chall.bin

Conclusion

Eh oui, c'est déjà la fin. En conclusion, ce genre de chall n'est pas fait pour être RE. Et j'ai une envie de Monster maintenant.