Rating: 1.0

[Original writeup source](https://barelycompetent.dev/post/ctfs/2022-03-13-utctf/#sounds-familiar).

---

Attached is a single file, sounds_strange.wav. Listening to the audio in Audacity, it very clearly sounds like the beeps a phone makes when it is dialed.

![](https://barelycompetent.dev/img/CTFs/2022/utctf2022/sounds_strange.png)

This is not really a new concept; many CTFs have had a similar sort of challenge, so the trick on this one I had was figuring out what to do once you had the dialed digits.

To get the list of numbers, all you need is a DTMF tone detector/capturer. For this, I used [this new online site that I haven’t seen or used before by unframework](https://unframework.github.io/dtmf-detect/#/) (I previously used linux-dtmf which had also worked well). The online site was accurate and really nice, though I wish the numbers stayed on the screen after it’s been fully decoded (you had to be quick to copy+paste the final result, otherwise it clears itself after a few seconds).

Running the .wav file in that site yields the following digits:

```
100888210610071905578878610699109864888508912081681081029071571029810957488812286111817274108102816161
```

At first, I couldn’t figure out what these were, since the full set of digits didn’t really make any sort of sense when decoded using anything I tried.

After a while, I realized they were punching the digits in in groups separated by silence, and thought about splitting the digits based on input (visible in the audacity pic above). Doing so yields a set of numbers that look suspiciously like a valid set of ASCII values:

```
100 88 82 106 100 71 90 55 78 87 86 106 99 109 86 48 88 50 89 120 81 68 108 102 90 71 57 102 98 109 57 48 88 122 86 111 81 72 74 108 102 81 61 61
```

[Converting these to ASCII yields a base64 string, which when decoded, gives the flag.](https://discord.com/channels/824804925800316929/952001668373970954/952358801267384360)

Or, without CyberChef:

```
for digit in 100 88 82 106 100 71 90 55 78 87 86 106 99 109 86 48 88 50 89 120 81 68 108 102 90 71 57 102 98 109 57 48 88 122 86 111 81 72 74 108 102 81 61 61; do printf \\$(printf '%03o' $digit); done | base64 -d
utctf{5ecret_f1@9_do_not_5h@re}
```

Flag is utctf{5ecret_f1@9_do_not_5h@re}.

Original writeup (https://barelycompetent.dev/post/ctfs/2022-03-13-utctf/#sounds-familiar).