I'm a Shouty Man

音声ファイルが大量に入ったzipファイルが与えられた。 ファイル名が大文字か小文字かが違うだけで被っているファイルがあったので、7-Zipの自動リネームを利用して展開した。
音声ファイル群は、1文字ずつ発声している短いデータと、約30分のsounds.webmからなっていた。

まず、sounds.webmVLC media playerで速度を上げて再生し、 間違いをあまり気にせずに読まれる文字を書き取った。 結果は以下のようになった。

A zip file that contains many audio files was given. There are files whose names collide with only difference of upper/lower case, so I utilized auto rename of 7-Zip to extract.
There were short data with voice of one character, and about 30-minute data sounds.webm.

Firstly, I played sounds.webm in increased speed via VLC media player and wrote down the characters read with paying little care for mistakes. This is the result:

Bml2YW11cyBzZWQpZWxpdCBpbnRlcmR1bSwcY29udmFsbGlzIHRlbGx1cy4gBmBz dGlidWx1bSBxdWlzIG1pIGByYXQuIHlbdSBtYXkgYmUgd29uZGByaW5nIHdlZXJl IhRlZSBmbEFnIGlzIHJpZ2h0IG5ddy4gd2BsbGBsZXQtbWUtdGBsbGB5b3UsIGl0 j3Mtc29tZXdrZXJlLiB0aGUtZmxhZyBjb3BsZGBiZSByYWN0ZntrYWhhfSBzciBt dGBjb3BsZGBiZSByYWN0Zntsb2x9LiBOYW0gZWxlbWBudHBtIGdyYXZpZGEtZG9s b3IgaW4gZmfjaWxtc2lzliBJbiBrYWmgaGFiaXRhc3NlIHBsYXRlYSBkaWN0dW1z dG4gQWxtgXBhbSBibGFuZGl0IGR1aSB1tGB1cmihIGltcGByZGlldGB0aWijaWR1 bnQuIEludGBnZXIGYXQgZGlhbSByaG9uY3BzLGBtYWN1bGlzIHR1cnBtcyBtZCwt bHJtc3RtcXBlIGBzdG4gQ3JhcyBmYXBjaWJ1cyBtYXNzYSBsaWJlcm8sIHNtdCBh bWB0IHZ1bHB1dGF0ZSBdZGldIGNdbnNlcXBhdGBjdXJzbXMgdEhlIHJFYUwgZkxB ZyBtNSByYWN0ZntdTWdfaXQ1X2FOX2F1ZDEwzGhpbDMhISF9IER1aXMgZXUgbGln dWxhIGXsaXF1YW0sIHNhZ2l0bGlzIHZlbGl0IGluIHNgZGFsZXMgdnBscHB0YXRl

この結果をCyberChefでBase64デコードすると、以下のようになった。

Decoding this result as Base64 via CyberChef yielded this:

.ivamus sed)elit interdum,.convallis tellus. .`stibulum quis mi `rat. y[u may be wond`ring weere".ee flAg is right n]w. w`ll`let-me-t`ll`you, it.s-somewkere. the-flag copld`be ractf{kaha} sr mt`copld`be ractf{lol}. Nam elem`ntpm gravida-dolor in fgãilmsis. In kai habitasse platea dictumstn Alm.pam blandit dui u´`urh¡ imp`rdiet`tih£idunt. Int`ger.at diam rhoncps,`maculis turpms md,-lrmstmqpe `stn Cras fapcibus massa libero, smt am`t vulputate ]di] c]nseqpat`cursms tHe rEaL fLAg m5 ractf{]Mg_it5_aN_aud10Ìhil3!!!} Duis eu ligula eìiquam, sagitlis velit in s`dales vplpptate

この結果はractf{]Mg_it5_aN_aud10Ìhil3!!!}というflagっぽい部分を含むが、やはり間違いがあるようである。

InputとOutputの関係からこのflagっぽい部分に対応するsounds.webmの部分は 25:15 ~ 27:09 であることがわかったので、この部分を間違わないように聞き取った。
bとdとv、tとpといった紛らわしい文字の判別には、1文字ずつの音声データとの比較が役に立った。

結果は以下のようになり、これをBase64デコードすることでflagを含む結果が得られた。

This result contains a part that looks like the fiag ractf{]Mg_it5_aN_aud10Ìhil3!!!}, but it looks containing some errors.

The relation between the Input and Output suggested that the part of sounds.webm that corresponds to this part is 25:15 to 27:09, so I carefully listened to this part to avoid errors.
Comparing to the data for single character was helpful to distinguish between similar characters like (b, d, v) or (t, p).

This is the result:

NSByYWN0ZntvTWdfaXQ1X2FOX2F1ZDEwcGhpbDMhISF9

Decoding this as Base64 yielded a string that contains the flag.

ractf{oMg_it5_aN_aud10phil3!!!}

RACTF 2021