Análisis forenseAuditoría y CTF

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

Buenas a todos! Esta entrada es la continuación de la primera parte de HOW ALIVE, y el volumen de entradas Take an overview #CTF #Forensics

Tenemos un zip protegido con password y un JPG. Pasamos la herramienta exiftool y vemos en XP Comment, bytes en hexadecimal. ExifTool es una herramienta de línea de comandos capaz de leer y editar los metadatos de una amplia variedad de formatos de imágenes, así como archivos de música, videos o texto.

37
Figura 1

Convertimos los bytes en hexadecimal a ASCII.

38
Figura 2

La salida del texto parece ser base64, lo decodeamos y nos vuelve a salir un base64.

39
Figura 3

Decodeamos otra vez, y se aprecia que está codificado de forma recursiva.

40
Figura 4

Una vez obtenida la password, ya podemos descomprimir el zip protegido, estando en su interior la flag.

En el siguiente ejemplo, tenemos un fichero extensión .mp3, que realmente corresponde con un fichero ASCII.

41
Figura 5

Borramos los caracteres indicado con tr, y usamos xxd para tener el formato en hexadecimal y en ASCII

42
Figura 6

Obtenemos en ASCII un base64. Parece que el código Python esta cifrado usando cifrado César, lo más probable rot13, así que tratamos de descifrar el resultado.

43
Figura 7

Usamos el comando «tr» para poder decodificar el rot13, traduciendo el base64 que le llega decodificado cambiando todas las letras de la secuencia que va de la (A-Z) mayúsculas, respectivamente, por; primero, la secuencia de letras que van de la (N-Z), y después debido a que sólo llevamos la mitad de la secuencia a traducir, por la secuencia que va de la (A-M). Con las minúsculas hace lo mismo.

44
Figura 8

Obtenemos un script en Python decodificado. Ejecutamos eliminando los caracteres dados como la ‘x’ del hexadecimal, y lo convertimos a ASCII.

45
Figura 9
46
Figura 10

En el siguiente ejemplo vemos que nuestro reto comienza el header con %PDF, así que de momento deducimos que es un PDF con la cabecera correcta. El caracter % indica que es un comentario en el pdf.

58
Figura 11

Vamos a ver las últimas lineas, para ver el trailer usando «pipeline» y el comando «tail».

59
Figura 12

Vemos que no finaliza con %%EOF, y debería de ser la última linea del documento PDF que contiene la cadena de fin de archivo. Quizás para encontrar la flag, debemos encontrar la cadena de caracteres EOF.

60
Figura 13

A continuación de los caracteres EOF vemos, RIFF y WAVE….Pasamos el archivo a extensión .wav y obtendríamos nuestra flag.

En el siguiente ejemplo, nos dan un fichero. Usamos el comando strings para ver si podemos obtener la flag rápidamente.

64
Figura 14

Quizás exista un PNG en su interior. Usamos el comando file para ver el tipo de fichero.

65
Figura 15

Resulta ser un zip, lo extraemos con unzip y vemos las diez primeras líneas del PNG.

66
Figura 16
67
Figura 17

Falta la cabecera del png, corresponiendo tener 89 50 4e 47. Una forma de añadir esta cabecera es usar la web https://hexed.it/

Pero podemos hacerlo de igual modo con xxd. Con el parámetro -r lee volcados en hexadecimal.

68
Figura 18

Una vez arreglado, abrimos el PNG y ya obtenemos nuestra flag.

Hasta aquí la entrada de hoy, y finalizamos HOW ALIVE. En las siguientes entradas veremos herramientas como binwalk, foremost, wireshark, etc…

Un saludo, Naivenom.