BCACTF 6.0 Writeup
Contents




BCACTF は、5回目の参加です。
BCACTF 1.0 (62位)
BCACTF 2.0 (63位)
BCACTF 3.0 (54位)
BCACTF 4.0 - 不参加
BCACTF 5.0 (239位)
BCACTF 6.0 (78位) - 今回
今回は975点を獲得し、最終順位は78位でした。

今回は、参加者が少なかったですね。
CTFTime からイベントが消えちゃっていたり、イベント開始までレジストレーションができなかったりしたのが原因なのかな、と思います。
以下はチャレンジのリストです。






[Misc]: dessert_time (25 points)
Challenge
I’m a very good planner, but my robotics competition really fried my brain! I remember eating something for the past few weeks but I just can’t seem to remember what. Can you please help me? Here’s my schedule for reference
Hint: I remember eating it early in the morning, but sometimes I would snack on it in the evening too.
Solution
Google Sheetが与えられます。
フラグの一部である {
をサーチしてみたらヒットしました。視覚的に見えないのは、フォントの色のせいかな(そこは調べませんでした)。
正規表現を使って数字以外をサーチしてみました。

すべての文字を集めたらフラグになります。
Flag: bcactf{Apple_pieS_Are_yuMMy}
[Misc]: Molasses (25 points)
Challenge
This GIF shows the flag letter-by-letter but it’s really slow and I don’t want to wait all day. Maybe there’s a faster way to get the flag?
Attachment:
- molasses.gif
Solution
Animation GIF で、タイマーが長くセットされているんだと思うんですが、Mac PC の Preview で開いたらすべての画像が表示されたので、各画像の文字を並べるだけでした。
想定解は別にあるんでしょうね。たぶん。
Flag: bcactf{is_it_gif_or_gif_a51fd7ace416}
[Misc]: Annoying (50 points)
Challenge
Sometimes things are more annoying than they are difficult.
Attachment:
- DLXENH.zip
Solution
かなり階層の深いzipファイルです。
Mac PC の Archive Utility で解凍すると、途中で3回ほど停止しましたが、ほぼ全自動で解凍できました。
これも、想定解ではないかな。。
Flag: bcactf{w3ll_th4t_w4s_4nn0y1ng_fca743ef043c1d8}
[Forensics]: Flag Flag (25 points)
Challenge
It’s a flag—inside a flag.
Attachment:
- flag-flag.png

Solution
各色の RGB の値が、文字に変換できます。
rgb(98,99,97)
rgb(99,116,102)
rgb(123,49,106)
rgb(78,55,117)
rgb(89,107,106)
+7D
は、}
のことです。
Flag: bcactf{1jN7uYkj}
[Forensics]: Recovery Shop (50 points)
Challenge
Welcome to the recovery shop! For a small price, we can restore you to your best look!
Hint: Have you tried looking at yourself in the mirror? (the next hint is a real one)
Attachment:
- recovers.heic

(Unsolved)
これは、解けませんでした。
まず、exiftoolで以下が見つかります。
$ exiftool recovers.heic : Layer Names : orz, 6, 2, 5, 1, 3, bcactf{dOn!t_trUs!_the_T1Tle1}, 4 Layer Unicode Names : orz, 6, 2, 5, 1, 3, bcactf{dOn!t_trUs!_the_T1Tle1}, 4
これが next hint と言われるものですかね?
.heic ファイルは Mac PC で普通に開けるし、なんなら文字のコピーもできます。
コピペで読み取った文字列がこちら。
bcactf{th!ss_ @!e_83Kl ts_fr _b!n@na_ f$_|@gOrz}
改行を除くと、bcactf{th!ss_@!e_83Klts_fr_b!n@na_f$_|@gOrz}
になりますが、これはフラグとして通りませんでした。
結局のところ、大文字と小文字が間違っていたり、|
がl
だったりするだけなんですが、画像から文字を読取るだけのチャレンジでは、見間違いやすい文字は使わないで欲しいと思いました。
ヒントも、意味不明過ぎるし。むしろ無い方がよかった。
Recoveryって何? Mirrorって何? “Don’t trust the title” って何??
ただの愚痴です。
まぁ、学んだこともありました。
Tips
Mac PCで画像からコピペで読み取った文字列は、実際の文字とは異なることがある。
[Forensics]: tune in (50 points)
Challenge
my boss radioed me a message but I can’t hear it. he told me to tune in, can you help me out?
Hint: look for suspicious audio
Attachment:
- transmission.wav
(Unsolved)
これは、解けませんでした。調査の過程だけ、残しておきます。
.wavファイルなので、まず Audacity で開きます。
ステレオのR側に音の大きな雑音、L側にSSTVの問題でよく出てくる音が入っています。
L側は音がかなり小さくて、音量を上げる必要がありました。
Audacity の Amplify では音量を上げられなかった(おそらくR側の音が大きいから)ので、Normalizeを使いました。
Normalize stereo channels independently
のオプションは必須です。

Exportする際も、Mono
にしないといけません。

Windows PC にコピーして、RX-SSTVツールを使ってみましたが、まともな画像は取れませんでした。

[Forensics]: plain-sight (75 points)
Challenge
Can you help find my flag? I tried asking around but all I found was this poem.
Attachment:
- hiding_in_plain_sight.pdf
Solution
Libre Office で開いて、オブジェクトを移動したりするとフラグが見つかるやつです。
Flag: bcactf{Now_y0U_s3e_mE}
[Forensics]: Tarred and Feathered (75 points)
Challenge
i recently exfiltrated this archive from a suspect’s computer. they illegally stole all of our flags.
however, not everything is as it seems. the flag is in the archive, but where? i couldn’t find it, can you?
Hint1: Not everything in the archive is what it seems. Look beyond the visible files.
Hint2: how can you get more information about what files are in the archive?
Attachment:
- challenge.tar.gz
Solution
普通に解凍しようとすると、以下のようなエラーになります。解凍には失敗しますが、flag.txtのパスはわかります。
$ tar zxvf challenge.tar.gz x note.txt x ../.cache/.hidden_logs/.�\200\213flag.txt: Path contains '..': Unknown error: -1 tar: Error exit delayed from previous errors.
以下のように-O
オプションとパスの指定でフラグの中身が取れました。
$ tar zxvf challenge.tar.gz -O ../.cache/.hidden_logs/ x ../.cache/.hidden_logs/.�\200\213flag.txtbcactf{you_tarred_me_apart_1bf1fb1}
Flag: bcactf{you_tarred_me_apart_1bf1fb1}
[Web]: People (50 points)
Challenge
Find the administrator’s email address. Wrap it in bcactf{}.
http://challs.bcactf.com:42593
(Unsolved)
多くの人が解けているのに、自分は解けませんでした。
View Source で以下が見つかります。
<span>Name: Roscoe Quigley<br /> <!-- username: administrator --> <img src="https://gravatar.com/avatar/06003dfd18a22e6809e736cf27eaabb6" loading="lazy" /> <hr/>
結局のところ、このHash値を CrackStation でCrackしたらメールアドレスが見つかるんですが、そういう発想は全く浮かばなかったです。
だって、username: administrator なんだし、あとはドメイン名を見つける問題かな、と思っていろいろと調べたんですが、
何気に Roscoe Quigley っていう人も実在するみたいだし、でもそれだとOSINTチャレンジだしなぁと思いつつ、時間の無駄になりそうだったので諦めました。
せめて role: administrator みたいにしておいてくれたら、よかったのにと思います。
ただの愚痴です。
[Web]: Temps (75 points)
Challenge
Find out when this web app was compiled. Report your answer as a Unix timestamp in milliseconds wrapped with bcactf{}. (For example, the date “Wed, 01 Jan 2020 05:00:00 GMT” would be reported as bcactf{1577854800000})
http://challs.bcactf.com:26137
Solution
_app/version.json
を見ればバージョンがわかるようです。
http://challs.bcactf.com:26137/_app/version.json {"version":"1735776187591"}
Flag: bcactf{1735776187591}
[Web]: What? (75 points)
Challenge
Surmount the insurmountable.
http://challs.bcactf.com:47861

Attachment:
- what.php (<– イベントの途中で追加されました)
Solution
添付ファイル(what.php)が提供される前に解けました ^^
2つのHash値を比較するアプリだとすると、Hash Collisionを元にしたチャレンジなのが予想できます。
参考:
https://github.com/spaze/hashes?tab=readme-ov-file
以下の2つ使って、フラグが取れました。
TEXTCOLLBYfGiJUETHQ4hAcKSMd5zYpgqf1YRDhkmxHkhPWptrkoyz28wnI9V0aHeAuaKnak TEXTCOLLBYfGiJUETHQ4hEcKSMd5zYpgqf1YRDhkmxHkhPWptrkoyz28wnI9V0aHeAuaKnak
Flag: bcactf{wh0_kn0ws_4nym0r3_11fab08d769a}
[OSINT]: Japanese Lyrics OSINT (100 points)
Challenge
Out of the top 25 most streamed songs in Japan according to Wikipedia, we picked a song (with Japanese lyrics) and translated a line from Japanese to English using various large language models. Here were the results (each line is a different translation):
An unending, unending flavor has seeped in.
There’s a taste that won’t go away, it’s stained into me.
The taste that won’t disappear, won’t disappear, has soaked in deeply.
The taste that doesn’t fade, doesn’t fade, is deeply ingrained.
What is the name of the song, according to its English Wikipedia page? Wrap the name in bcactf{}. It’s case-sensitive, so please follow the case as it is on Wikipedia.
Hint1: The difficulty in this challenge perhaps lies in gathering the lyrics to the top 25 most streamed songs. But maybe there’s an easy way to get that done?
Hint2: The same word is translated as “unending”, “won’t go away”, “won’t disappear”, and “doesn’t fade”. It may be worth finding out what word that is.
Hint3: What is the Japanese word for flavor/taste?
Hint4: The flag is a romanized Japanese word.
Solution
リストは以下のWikiにありました。
https://en.wikipedia.org/wiki/List_of_best-selling_singles_in_Japan
そもそも曲数が25曲しかなくて、フラグは99回Submitできるので、Brute Forceするだけでした。9回目で当たりました。
Flag: bcactf{Kaibutsu}
Author CaptureAmerica @ CTF フラxxグゲット
LastMod 2025-06-30