picoCTF - Hidden in plainsight
Challenge
Information
Hidden in plainsight es un challenge de dificultad fácil dentro de la categoría Forensics de la plataforma picoCTF y fue creado por el usuario YAHAYA MEDDY.
Description
You’re given a seemingly ordinary JPG image. Something is tucked away out of sight inside the file.
Your task is to discover the hidden payload and extract the flag.
Hints
Hint 1
Download the jpg image and read its metadata
Download
wget -q --no-check-certificate "https://challenge-files.picoctf.net/c_amiable_citadel/1b638a2799b26ff08169f1703b4f0f2738599d68ffafe63b8f6ea303b3d596ab/img.jpg"

Solution
Image

Stego
Metadata-Based Steganography
Uso la herramienta exiftool para extraer los metadatos de la imagen, donde encuentro una cadena codificada en base64.
root@kali:~ ❯ exiftool img.jpg
ExifTool Version Number : 13.44
File Name : img.jpg
Directory : .
File Size : 73 kB
File Modification Date/Time : 2025:11:07 20:17:40+01:00
File Access Date/Time : 2026:02:07 09:12:42+01:00
File Inode Change Date/Time : 2026:02:07 09:12:24+01:00
File Permissions : -rw-r--r--
File Type : JPEG
File Type Extension : jpg
MIME Type : image/jpeg
JFIF Version : 1.01
Resolution Unit : None
X Resolution : 1
Y Resolution : 1
Comment : c3RlZ2hpZGU6Y0VGNmVuZHZjbVE9
Image Width : 640
Image Height : 640
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:0 (2 2)
Image Size : 640x640
Megapixels : 0.410
Comment : c3RlZ2hpZGU6Y0VGNmVuZHZjbVE9
Base64 Decode
Decodifico la cadena, que aparentemente está codificada en base64.
root@kali:~ ❯ base64 -d <<< 'c3RlZ2hpZGU6Y0VGNmVuZHZjbVE9'
steghide:cEF6endvcmQ=
Decodifico la cadena nuevamente, ya que parece estar codificada varias veces, y obtengo un password.
root@kali:~ ❯ base64 -d <<< 'cEF6endvcmQ='
pAzzword
File Embedding Steganography
Con la herramienta steghide compruebo si existe algún archivo oculto dentro de la imagen, pero la herramienta solicita un password.
root@kali:~ ❯ steghide info img.jpg
"img.jpg":
formato: jpeg
capacidad: 4,0 KB
�Intenta informarse sobre los datos adjuntos? (s/n)
Al proporcionar el password obtenido previamente, la herramienta indica que existe un archivo oculto llamado flag.txt.
root@kali:~ ❯ steghide info img.jpg
"img.jpg":
formato: jpeg
capacidad: 4,0 KB
�Intenta informarse sobre los datos adjuntos? (s/n) s
Anotar salvoconducto:
archivo adjunto "flag.txt":
tama�o: 34,0 Byte
encriptado: rijndael-128, cbc
compactado: si
Finalmente, consigo extraer el archivo oculto flag.txt desde el interior de la imagen.
root@kali:~ ❯ steghide extract -sf img.jpg
Anotar salvoconducto:
anot� los datos extra�dos e/"flag.txt".
Flag
Leo el contenido del archivo flag.txt y obtengo la flag.
root@kali:~ ❯ cat flag.txt
picoCTF{h1dd3n_1n_XXXXXXXXXXXXXXXXXXXXXXXXX}
Hasta aquí la resolución del challenge Hidden in plainsight de picoCTF.
Happy Hacking!