Shellcode (Intro) - FCSC 2022

Shellcode (Intro) - FCSC 2022

Fichiers du challenge Principe:
Générer un shellcode (64 bits!) et le passer à un programme qui l'exécutera, pour trouver et lire le fichier contenant le flag sur le serveur

Shellcode — FCSC2022

Je m'aperçois que je n'ai pas fait les screens sur ce challenge… Elles seront donc faites maintenant, sur Ubuntu. D'où une différence avec les autres challenges!

Le challenge

Le challenge nous donne un fichier executor (dispo ici) , qui est un exécutable Linux dont le principe est d'exécuter ce qu'il reçoit en entrée. On doit donc s'en servir pour accéder au flag sur le serveur du FCSC.

Le shellcode

On génère simplement un shellcode (msfvenom -p ) et on le passe à ./executor… Et ça foire

On n'oublie pas de donner les droit d'exécution à ./executor via chmod +x ./executor

Générer un payload peut se faire via msfvenom -p linux/x86/exec CMD=/bin/bash -f raw ou msfconsole (c'est en fait pareil): module use payload/linux/x86/exec, option CMD=whoami, puis generate

32 bits? T'es sûr?

Surpris de voir que cela marchait pas, j'ai finalement remarqué que l'exécutable est un 64 bits, et non 32…
On génère donc un payload 64 bits (whoami) et on teste: ça marche

Flag!

On génère le payload ls (pour connaitre le nom du flag) et on le lance sur le serveur, puis cat flag.txt:
FCSC{9f8a2eb6fbb26644dab670f1a948c449ba36102417efc3e40c3bd4774bfb4f7a}

Comme pour la plupart des challenges du genre, "lancer les payload sur le serveur du FCSC" revient juste à faire un cat payload.dat | nc france-cybersecurity-challenge.fr 1234payload.dat est le payload à passer au serveur du FCSC et 1234 est un port qui nous est donné dans le challenge.

Fichiers du challenge

↩ Retour à la liste des challenges

⇇ Retour à l'accueil