Análisis forenseAuditoría y CTF

Take an overview #CTF #Forensics – HOW ALIVE, NASA’s way of asking Watney (I)

Buenas a todos! En la primera entrada Stranger Strings vimos como con el comando strings, pudimos obtener muchas flags de diferentes retos de los CTF’s de años anteriores y de este año.

En esta entrada veremos como usar herramientas y editores hexadecimales, para poder modificar binarios ya sean sus cabeceras, o simplemente identificar las flags. Al igual que nos apoyaremos de otras herramientas.

Dado un directorio, con muchos ficheros y directorios dentro, donde el objetivo sea investigar y encontrar la flag, debemos usar nuestra deducción para poder seguir las “posibles” pistas que nos podamos encontrar. Aquí un ejemplo:

6
Figura 1

Nos encontramos una cadena de caracteres indicando que no es demasiado fácil…es obvio solo hemos navegado por el conjunto de directorios y ficheros.

Usando xxd vemos el binario en formato hexadecimal y ASCII, donde localizamos la flag. xxd crea un volcado hexadecimal de un archivo dado o entrada estándar.

7
Figura 2

Usamos la herramienta foremost para extraer la imagen y vemos en formato hexadecimal dicha imagen con xxd. Foremost es un programa forense para recuperar archivos perdidos basados en sus encabezados, pies de página y estructuras de datos. Con el parametro -t indicamos el tipo de fichero.

23
Figura 3

Podemos usar hexdump como filtro que muestre los archivos especificados, o la entrada estándar, si no se especifican archivos, en un formato especificado por el usuario. En este ejemplo podéis observar como en el fichero Thumbs.db, obtenemos nuestra flag.

93
Figura 4
94
Figura 5

En este otro ejemplo usamos de nuevo hexdump. El parametro -C indica «Canonical hex+ASCII display»

49

50
Figura 7

Vemos caracteres interesantes como una base de datos SQLite. Sin embargo, la cabecera no corresponde con este formato«SQLite format 3\000» . Lo modificamos con el interprete de Python:

51
Figura 8

En la Figura 9, vemos que el PNG esta corrupto viendo las especificaciones

77
Figura 9

Podemos editar el código en hexadecimal de manera online visitando esta página web

78
Figura 10

Abrimos el PNG, y ya obtendríamos nuestra flag.

En el siguiente ejemplo vamos a ver el tipo de ficheros del que disponemos dentro del directorio.

2
Figura 11

Extraemos Thumbs.db con 7z.

3
Figura 12

Abriendo unos de esos ficheros con un editor hexadecimal podemos ver que existen 12 bytes extra de metadatos. Por tanto podemos modificar esos bytes adicionales usando xxd y guardar los ficheros JPG en otro directorio. Una vez obtenido los JPG arreglados, apreciamos la flag.

5
Figura 13

 

4
Figura 14
5654
Figura 15

Hasta aquí la entrada de hoy! En la siguiente entrada continuaremos usando editores hexadecimales, acompañado de otras herramientas.

Un saludo, Naivenom.