Ir al contenido principal

Criptografía (CLXVII): Solución Reto backdoor "easy-flipp"

En este post la solución a otro de los retos de criptografía de la plataforma backdoor.

Este reto tiene el título "easy-flipp" y mi valoración sobre su dificultad es: .

Su enunciado dice lo siguiente:


dr3dd is n00b in crypto stuff, but he tried to encrypt some data using AES-CBC mode can you change encrypted data and get his private message..!!

nc hack.bckdr.in 10006

Y como pista se da la siguiente (Hint): CBC Bit-Flipping Attack.

Solución: ya he escrito en este blog algunos post sobre el 'bit-flipping attack', por lo que resolver este reto no tiene que ser difícil y, en consecuencia, rebajo su nivel de dificultad a bajo.

Me conecto:
En el enunciado se dice que el método de cifrado utilizado es AES en modo de operación CBC, y aquí veo el mensaje de autenticación cifrado (en hexadecimal) y que el texto en claro correspondiente al mismo es "admin=0".

Pues bien, entiendo que lo único que hay que hacer es cambiar "admin=0" por "admin=1" mediante la modificación del Byte séptimo del vector de inicialización (IV) para que se produzca la modificación deseada en el Byte séptimo del primer bloque de texto plano (pase de 0 a 1).

Es decir, la modificación que tengo que realizar es la siguiente:

C'0[7] = C0[7] XOR P1[7] XOR P'1[7] = C0[7] XOR 0 XOR 1 = C0[7] XOR 1

Donde: C'0[7] = Valor al que hay que modificar el Byte 7 de C0 (IV); 
C0[7] = Byte 7 del bloque 0 del criptograma original (Byte 7 del IV original);
 P1[7] = Byte 7 del bloque 1 del texto plano original;
 P'1[7] = Valor deseado para el Byte 7 del bloque 1 del texto plano.

Por consiguiente, basta con modificar el Byte 7 del vector de inicialización
 (resaltado en color rojo a continuación) con el resultado de la operación XOR de ese mismo Byte con 1.

C0 (IV original) = 0cc1484ddd73a77fd14dc38062560cf0
C'0[7] = C0[7] XOR 1 = a7 XOR 1 = a6
C'0 (IV modificado) = 0cc1484ddd73a67fd14dc38062560cf0

Por lo que, si no estoy equivocado, cuando nos piden 'Give me Encrypted msg in hex' basta con incluir:

0cc1484ddd73a67fd14dc38062560cf034b8bae89f1b9fb5ef1ee676572899dd

para que se nos muestre la flag:
No hay que olvidar que en esta plataforma para superar el reto hay que enviar el hash sha256 de la flag:
Por lo que el valor a enviar es:

dcde1eaf7b732a6b014d47e2cc6eb31946efd1da78494eae4c9e20d52cc2efbe

Comentarios

Entradas populares de este blog

Criptografía (I): cifrado Vigenère y criptoanálisis Kasiski

Hace unos días mi amigo Iñaki Regidor ( @Inaki_Regidor ), a quien dedico esta entrada :), compartió en las redes sociales un post titulado "Criptografía: el arte de esconder mensajes"  publicado en uno de los blogs de EiTB . En ese post se explican ciertos métodos clásicos para cifrar mensajes , entre ellos el cifrado de Vigenère , y , al final del mismo, se propone un reto consistente en descifrar un mensaje , lo que me ha animado a escribir este post sobre el método Kasiski  para atacar un cifrado polialfabético ( conociendo la clave descifrar el mensaje es muy fácil, pero lo que contaré en este post es la forma de hacerlo sin saberla ). El mensaje a descifrar es el siguiente: LNUDVMUYRMUDVLLPXAFZUEFAIOVWVMUOVMUEVMUEZCUDVSYWCIVCFGUCUNYCGALLGRCYTIJTRNNPJQOPJEMZITYLIAYYKRYEFDUDCAMAVRMZEAMBLEXPJCCQIEHPJTYXVNMLAEZTIMUOFRUFC Como ya he dicho el método de Vigenère es un sistema de sustitución polialfabético , lo que significa que, al contrario que en un sistema...

Criptografía (XXIII): cifrado de Hill (I)

En este post me propongo explicar de forma comprensible lo que he entendido sobre el cifrado de Hill , propuesto por el matemático Lester S. Hill , en 1929, y que se basa en emplear una matriz como clave  para cifrar un texto en claro y su inversa para descifrar el criptograma correspondiente . Hay tres cosas que me gustan de la criptografía clásica, además de que considero que ésta es muy didáctica a la hora de comprender los sistemas criptográficos modernos: la primera de ellas es que me "obliga" a repasar conceptos de matemáticas aprendidos hace mucho tiempo y, desgraciadamente, olvidados también hace demasiado tiempo, y, por consiguiente, que, como dice  Dani , amigo y coautor de este blog, me "obliga" a hacer "gimnasia mental"; la segunda es que, en la mayoría de las ocasiones, pueden cifrarse y descifrase los mensajes, e incluso realizarse el criptoanálisis de los criptogramas, sin más que un simple lápiz y papel, es decir, para mi es como un pasat...

Criptografía (CLXXXIV): Soluciones Retos criptografía de CyberOlympics 2017

En este post pongo las soluciones a los retos de  criptografía que he ido resolviendo de la edición del año 2017 de CyberOlympics , competición en modalidad  'on-line' , estilo  'Capture the Flag'  y formato  'Jeopardy'  dirigida a centros educativos y organizada por el Instituto Nacional de Ciberseguridad (INCIBE) en el marco de la actividad llamada CyberCamp. En esta edición la mayoría de los retos presentaron un  nivel  de dificultad bajo  ( ★ ★ ☆☆☆ ) , lo que entiendo adecuado por el colectivo al que van dirigidos. Las soluciones al resto de desafíos de criptografía de esta edición, cuyos archivos asociados tenga (no me han pasado todos) y que consiga resolver, las pondré en otra entrada. Reto 1 (Criptografía) : Enunciado : Todas las mañanas cuando me despierto, me miro en el espejo y no entiendo lo que veo. Hoy me he levantado dando un salto mortal y no voy a apartarme de mi “otro yo” hasta que no descubra el mensaje. Parece q...