Oceanic - Steganography

Task

The flag is somewhere in the deep.

Solution

We get the following file:

szczygielka@hacks$ file challenge.tar                                            
challenge.tar: POSIX tar archive (GNU)

Let's unpack the archive:

szczygielka@hacks$ tar -xvf challenge.tar 
clue.jpg
peaceful.wav

After unpacking the archive, we get two files: clue.jpg and peaceful.wav. The first one probably shows the ocean:

Let's check this file with exiftool whether it contains any interesting metadata:

szczygielka@hacks$ exiftool clue.jpg  
ExifTool Version Number         : 12.57
File Name                       : clue.jpg
Directory                       : .
File Size                       : 20 kB
File Modification Date/Time     : 2024:01:04 06:25:01-05:00
File Access Date/Time           : 2024:02:10 14:40:18-05:00
File Inode Change Date/Time     : 2024:02:10 14:40:18-05:00
File Permissions                : -rw-r--r--
File Type                       : JPEG
File Type Extension             : jpg
MIME Type                       : image/jpeg
JFIF Version                    : 1.01
Resolution Unit                 : inches
X Resolution                    : 300
Y Resolution                    : 300
Comment                         : 8qQd3iMYmtsyto7aXUuw1KVRpQFCRxqRtJiRgP85e36y
Image Width                     : 612
Image Height                    : 344
Encoding Process                : Progressive DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:4:4 (1 1)
Image Size                      : 612x344
Megapixels                      : 0.211

There is a string in the Comment field that appears to be encoded. Let's try to decode it using CyberChef:

It turns out that the string was encoded using Base58. The decoded string seems to be a hint for the task:

theoceanisactuallyreallydeeeepp

Let's look at the second file, peaceful.wav. The audio recording contains the sound of waves.

After analyzing the hint contained in the clue.jpg file, as well as the information found on HackTricks, we can assume that another file has been hidden in the audio file, and to unpack it we have to use the DeepSound tool. After uploading the file, we are asked for a password. Let's try to use the decoded hint from the clue.jpg file as a password:

After entering the password, we can see that the peaceful.wav contains the flag.png file:

Let's extract the flag.png file. The file content looks like this:

After checking the strings in the flag.png file, we find the flag:

szczygielka@hacks$ strings -a flag.png | grep "KCTF{"
KCTF{mul71_l4y3r3d_57360_ec4dacb5}

Flag:

KCTF{mul71_l4y3r3d_57360_ec4dacb5}

Last updated