vendredi 24 juillet 2015

Nebulla - level 14

Bonjour,

Nous voila au niveau 14 qui semble différent de loin. On nous demande ici :

This program resides in /home/flag14/flag14. It encrypts input and writes it to standard output. An encrypted token file is also in that home directory, decrypt it :)
To do this level, log in as the level14 account with the password level14. Files for this level can be found in /home/flag14.

Ici nous n'avons pas de source uniquement un fichier exécutable qui va encrypter des données passé en paramètre ainsi qu'un fichier crypter qui doit reprendre l'algo utilisé par le programme précédent. Donc il va simplement comprendre comment fonctionne l’encryption ici. Le test le plus simple sera d'écrire plusieurs fois le même caractère. On va donc tester ca :


On peut assez simplement comprendre le fonctionnement de l'algo qui va dépendre de la taille en s'incrémentant après chaque caractère. On va donc créer un simple mini logiciel pour decrypter le fichier token qui contient notre clef :

 
Je vous donne le petit programme basique ici :

#include <stdio.h>
#include <string.h>

int
main(int ac, char **av) {
 int i;

 i = -1;
 while (++i < strlen(av[1]))
  printf("%c", av[1][i] - i);
 printf("\n");
 return (0);
}

Et voila donc l'utilisation du password que l'on a récupérer :

Rien de très compliqué on pourrait tenter de reverse le programme pour comprendre l'algo mais parfois avec un simple test très basique on peut trouver le fonctionnement d'un programme.


Aucun commentaire:

Enregistrer un commentaire