Présentation d’un write-up de résolution du challenge « Crypto – One too many » du WARGAME de la Nuit du Hack 2016.
Le weekend du 02-03 juillet 2016 se déroulait le WARGAME de la Nuit du Hack 2016 sous forme d’un CTF Jeopardy. Ayant eu l’occasion et le temps d’y participer avec quelques collègues et amis, voici un write-up de résolution d’un des challenges auquel nous avons pu participer.
- Catégorie : Crypto
- Nom : One too many
- Description : We encrypted both parts of the flag with our revolutionary two-time-pad technique! Are you able to recover it?
- URL : http://static.wargame.ndh/one_too_many_1.png and http://static.wargame.ndh/one_too_many_2.png
- Points : 100
tl;dr : one_too_many_1.png XOR one_too_many_2.png (convert tool on kali)
Deux images PNG nous sont fournies pour ce challenge :
La technique do « One-Time-Pad » a été employée pour chiffrer ces images, et la clé est identique entre les deux chiffrements (two-time-pad).
La relation suivante en découle :
one_too_many_1.png = one_too_many_1_original.png XOR OTP one_too_many_2.png = one_too_many_2_original.png XOR OTP one_too_many_1.png XOR one_too_many_2.png = one_too_many_1_original.png XOR one_too_many_2_original.png
Une simple recherche Google sur une méthode rapide pour XOR deux images, nous amène à ce topic, qui détaille l’utilisation de la commande « convert ». On applique la méthodologie :
convert one_too_many_1.png one_too_many_2.png -fx "(((255*u)&(255*(1-v)))|((255*(1-u))&(255*v)))/255" one_too_many_flag.png
Et on obtient le flag : ndh2k16_88bcb95612bf8207da083e784f1855b8
Merci à toute l’équipe de la NDH2K16 pour cet événement et pour toute l’organisation !
Salutations à nj8, St0rn, Emiya, Mido, downgrade, Ryuk@n et tout ceux dont je n’ai hélas pas le pseudo :), on remet ça quand vous voulez ? // Gr3etZ