TJCTF2020 - arabfunny

Posted on mar. 02 juin 2020 in CTF

solves : 67

Points: 40

Written by jpes707

So many sounds...

Hint: Listen to all the sounds. Which sound could possibly be used to encode a message? 

arabfunny.mp3

We have a strange mp3 file with a lot of different sounds and we need to find the one.

Around 1:02, we got a lot of sound that looks like phone tone. After some searchs, I found that this phone use DTMF to encode each phone key input.

We can now isolate the sound from 1:02 up to 1:20 to get only this sound. We need now to find a tool that can read the audio and give us back the phone key stroke.

I tried like phone application but not working since the sound was to noisy. I finnaly found one that can read directly from the audio file: multimon-ng.

╰─ multimon-ng -t wav -a DTMF /home/nlegall/ctf/tjctf/untitled.wav
multimon-ng 1.1.8
  (C) 1996/1997 by Tom Sailer HB9JNX/AE4WA
  (C) 2012-2019 by Elias Oenal
Available demodulators: POCSAG512 POCSAG1200 POCSAG2400 FLEX EAS UFSK1200 CLIPFSK FMSFSK AFSK1200 AFSK2400 AFSK2400_2 AFSK2400_3 HAPN4800 FSK9600 DTMF ZVEI1 ZVEI2 ZVEI3 DZVEI PZVEI EEA EIA CCIR MORSE_CW DUMPCSV X10 SCOPE
Enabled demodulators: DTMF
DTMF: 1
DTMF: 1
[...]
DTMF: 2
DTMF: 5

The output is: 1116106009991161002212330098111411710400955009990977771091011100880950500055204881122125. Seems we have a lot of repetions. Let's check the number back and fix it: 116106099116102123098114117104095099097109101108095050052048112125.

The result seems to be ascii encoded. I made a quick loop to decode it with python:

>>> c = "116106099116102123098114117104095099097109101108095050052048112125"
>>> flag = ""
>>> for x in range(1,23):
...     flag += chr(int(c[x * 3 - 3] + c[x * 3 - 2] + c[x * 3 - 1]))
... 
>>> flag
'tjctf{bruh_camel_240p}'