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
Se nos facilita la siguiente pista:
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!