Kitten eXORcism

Flag: CYBN{y3s_w3_x0r_1n1t_m8??}

Challenge

Description


Agent, le programme suivant a été retrouvé lors de la saisie des serveurs de l'attaquant. Il s'agirait d'un prototype de contrôle d'accès ou je ne sais quoi. L'acteur malveillant ne semble pas avoir mis au point un programme très sofistiqué, c'est l'occasion de vous mettre en jambes !

Solution

Décompilation avec Ghidra ici.

J'ai renommé quelques variables pour mieux comprendre, mais le binaire vérifie caractère par caractère que notre mot de passe correspond au résultat de encrypted XOR key.

On peut copier les valeurs de encrypted et key, puis refaire le XOR en python :

key = b'\xde\xad\xbe\xef\x6c\x69\x6b\x65\x73\xc0\xff\xea'.
encrypted = b'\x9d\xf4\xfc\xa1\x17\x10\x58\x16\x2c\xb7\xcc\xb5\xa6\x9d\xcc\xb0\x5d\x07\x5a\x11\x2c\xad\xc7\xd5\xe1\xd0'
flag = bytes([encrypted[i] ^ key[i % len(key)] for i in range(len(encrypted))]).decode()
print(flag)
# CYBN{y3s_w3_x0r_1n1t_m8??}

Dernière mise à jour

Cet article vous a-t-il été utile ?