Ir al contenido principal

Entradas

Miscelánea (IV): Solución Reto 41

Solución al  último  reto de la categoría "Miscelánea"  que he puesto en este blog. El  enunciado  del reto decía lo siguiente: Lo importante es el código. Si lo sabes introdúcelo por el teclado y el secreto se visualizará en el LCD (del inglés, 'Liquid Crystal Display' ) . Y como recurso asociado al reto se proporcionaba el siguiente: arduino.jpg . Solución : Lo primero que hago es bajar el archivo de imagen, en la que se ve un circuito implementado sobre una placa Arduino Uno  y que consta de varios dispositivos: teclado de cuatro columnas y cuatro filas (4x4 'Keypad' ), display de cristal líquido de 16 columnas y 2 filas (16x2 LCD), potenciómetro y resistencia: Está claro que únicamente con este diagrama del circuito poco puedo hacer para conocer el código a introducir y como este reto, tal y como se indica en el post del enunciado , tiene algo de esteganografía lo siguiente que hago es intentar detectar información oculta en el archivo de imagen (arduino.
Entradas recientes

Miscelánea (III): Reto 41

En esta entrada  un reto de la categoría "miscelánea" . En este caso porque podría ser catalogado en varias de las existentes en este blog. Como siempre, se admiten soluciones en forma de comentarios a esta entrada. Pasado un tiempo iré proporcionando pistas para su resolución, un máximo de tres, y posteriormente actualizaré este post con la solución. Reto 41 : "eL CóDigo". Lo importante es el código. Si lo sabes introdúcelo por el teclado y el secreto se visualizará en el LCD (del inglés, ' Liquid Crystal Display '). Dificultad : Tipo :       Codificación, Esteganografía, Reversing. Recursos : - arduino.jpg ******** 12/01/2021 Pista 1 :    El primer paso a dar para resolver este reto es de esteganografía . Si abres el archivo de imagen que se proporciona (arduino.jpg) con un editor hexadecimal no tengo ninguna duda que sabrás qué hacer y cómo proceder.  ******** 13 /01/2021 Pista 2 :     El segundo paso a dar para resolver este reto tiene que ver con la  in

Criptografía (CXCV): Solución Reto Brixel CTF 2020 "Don't be salty"

En este post pongo la  solución a uno de los retos de la categoría  'Cryptography'   de Brixel CTF 2020 , competición en modalidad  'on-line'  , estilo CTF (del inglés,  'Capture the Flag' ) y formato  'Jeopardy' . Los retos incluidos en dicha categoría en esta competición presentaron, a mi juicio, un nivel muy bajo de dificultad. Quizás el único un poco más difícil de resolver es el que es objeto de esta entrada, que  lleva por título " Don't be salty"  y que , en mi opinión, presenta un  nivel de dificultad bajo ( ★ ★ ☆☆☆ ) . Enunciado: Solución: En este reto se podía obtener una pista a cambio de 5 puntos, pero no me hizo falta, ya que por el formato del hash que se proporciona (valores hexadecimales y longitud de 32 dígitos, o, lo que es lo mismo, 16 bytes o 128  bits) enseguida sospeché que se trataba de un hash MD5 . Además, en el enunciado se indica la Sal (del inglés, 'Salt' ) utilizada y que ésta se puso después de la

Programación (XIV): Solución Reto Brixel CTF 2020 "An arduino project"

En este post pongo la  solución a uno de los retos de la categoría  'Programming'   de Brixel CTF 2020 , competición en modalidad  'on-line'  , estilo CTF (del inglés,  'Capture the Flag' ) y formato  'Jeopardy' . Se trata de uno de los desafíos que más me ha gustado de esta competición, ya que, aunque en la carrera, hace ya demasiado tiempo, algo hicimos de programación de microprocesadores para controlar ciertos dispositivos ( LED , displays de 7 segmentos ,...), este reto me obligó a investigar por Internet para intentar resolverlo, cosa que no pude hacer durante la competición por falta de tiempo de dedicación, pero me "picó" y creo que finalmente, aunque fuera de plazo, lo conseguí :). El reto concreto  lleva por título " An arduino project "  y, en mi opinión, presenta un  nivel de dificultad medio ( ★ ★ ★ ☆☆ ) . Enunciado: Se proporciona un archivo con el código de un programa (arduino_project.ino) y, además, se puede obtener u

Codificación (VI): Solución Reto Brixel CTF 2020 "punchcard"

En este post pongo la  solución a otro de los retos de la categoría  'Old Tech'   de Brixel CTF 2020 , competición en modalidad  'on-line'  , estilo CTF (del inglés,  'Capture the Flag' ) y formato  'Jeopardy' . Como esa categoría no figura entre las de este blog yo le asigno la de "Codificación". El reto concreto lleva por título "punchcard"  y, en mi opinión, presenta un  nivel de dificultad medio ( ★ ★ ★ ☆☆ ) . Enunciado: Se proporciona un archivo de imagen (punchcard.png) y, además, se puede obtener una pista a cambio de 5 puntos. El archivo de imagen contiene la siguiente tarjeta perforada : Solución:  En este caso , al contrario que en el reto del post anterior , no me hizo falta descubrir ninguna pista, ya que se trata de un reto relativamente frecuente en competiciones de este tipo y que, además, se puede resolver de diferentes maneras : manualmente ( ver este post ) o de forma automática, bien mediante la programación de un p

Miscelánea (II): Solución Reto Brixel CTF 2020 "The tape"

Durante estas vacaciones de Navidad me he entretenido resolviendo retos de Brixel CTF 2020 , competición en modalidad 'on-line' , estilo CTF (del inglés,  'Capture the Flag' ) y formato 'Jeopardy' , y en este post comienzo a incluir las soluciones de algunos de ellos. En esta ocasión pongo la solución a uno de los retos de la categoría 'Old Tech' , al que yo le asigno la de 'Miscelánea' en este blog, que lleva por título "The tape" y que en mi opinión presenta un  nivel de dificultad medio ( ★ ★ ★ ☆☆ ) . Enunciado: Se proporciona un archivo de audio (CTF-TAPe.wav) y, además, se pueden obtener dos pistas: la primera a cambio de 3 puntos y la segunda por 5 puntos. Solución:  La verdad es que al principio estaba bastante perdido ; reproduje varias veces el sonido contenido en el fichero de audio, pero sólo oía un pitido que no me decía nada. Además, con herramientas como 'Audacity' o 'Sonic Visualiser'  tampoco obtenía

Binary Exploitation (XXVII): Format string (I)

En esta entrada de la miniserie en la que explico brevemente ciertas vulnerabilidades software y técnicas para explotarlas  me centraré en la vulnerabilidad de cadena de formato   (en ingles,  'format string' ). En primer lugar, como siempre que inicio los posts correspondientes a una vulnerabilidad,  un poco de teoría para recordar conceptos fundamentales  y ponerla en contexto . ¿Qué es la  vulnerabilidad  'format string' ? : Tal y como nos cuenta wikipedia , la vulnerabilidad  'format string'   se produce  cuando los datos enviados a través de una cadena de entrada de caracteres son evaluados como un comando por la aplicación a la que van dirigidos , pudiéndose filtrar o escribir datos en la memoria. Para evitar esta vulnerabilidad, los programas deben utilizar correctamente las funciones para dar formato a las cadenas de caracteres. Si un atacante logra controlar la cadena de formato puede explotar esta vulnerabilidad para filtrar el contenido de la memoria