好奇心の足跡

飽きっぽくすぐ他のことをしてしまうので、忘れないため・形にして頭に残すための備忘録。

Shakti CTF 2020 writeup [Stegano]

2020年12月3の21:30 - 12月4日21:30 で行われていた、Shakti CTF 2020の [Stegano] 分野のwriteupです。

※ まとめはこちら tech.kusuwada.com

Hidd3n [Easy]

Seems like there is something hidden in this image. Can you find it out?

Author : v1Ru5

image.jpgピカチュウが配られます!版権!隠す気なし!大丈夫か!?

f:id:kusuwada:20201206234402p:plain:w400
※一応目隠し入れときました

exifを確認してみると、またコメントがあります。

comment: cGFzc3BocmFzZT1qdTV0ZmluZG0z

base64 decodeすると、passphrase=ju5tfindm3 おや!なにかのパスフレーズらしい。

stegano passphrase online jpegでぐぐってみると下記サイトに行き着いた。

Steganographic Decoder

ここに画像をuploadしてパスワードを入れてdecodeすると、フラグが出てきました!

"In engineering, the point is to get the job done, and people are happy to help. You should be generous with credit, and you should be happy to help others." Who am I?

Here is your flag: shaktictf{G00d!_b3st_0f_luck_f0r_th3_n3xt_chall3nge}

Invisible

One of our engineer got some clues regarding a recent attack in the city, using her knowledge on networking. Can you connect the dots and help us?

Flag Format : shaktictf{STRING}

file.jpgfile.txtが配布されます。

f:id:kusuwada:20210208184604j:plain

file.txtの方はnothing hereと書かれていますが、バイナリエディタで見ると色々書かれてる。

f:id:kusuwada:20210208184612p:plain

jpgのほうはfileコマンドで確認すると

$ file file.jpg
file.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, comment: "Tm90aGluZyBoZXJlIDoo", baseline, precision 8, 189x267, components 3

commentが!base64 decodeしてみると Nothing here :( となる。
textの方もwhitespace言語かな?と思ったけど、コンパイルできなかった。
space, tab, newline の3種類あるみたいなので、white spaceとか binaryという可能性もあるな。

このバイナリの方の値を何とかいじって意味のあるものにしようと色々やってみたけど、競技時間中には何も出なかった。残念。

Team-Shaktiによるwriteup

The image file is a rabbit hole. Perform stegsnow on the text file and decode the morse to get the flag.

うーん。rabbit holeは要らなかったなぁ。ソロ参加with育児だと時間勝負だからなぁ…。
気を取り直して、textファイルの方をstegsnowというのにかけると良かったらしい。

stegsnow: Whitespace steganography program

Stegano問題で愛用しているstego-toolkit には入っていないツールだ。
どうやらwhitespace言語と同じコンセプトっぽいぞ?whitespace言語のdecoderでは出なかったけど、これにかけると出るのかな?

$ apt install stegsnow
$ stegsnow -C file.txt 
.- -- .---- ...- .---- ... .. -... .-.. ...-- -. ----- .--

モールス信号だ!これをGitHub - kusuwada/morse-code: Morse code encoder & decoder.で復号すると

$ python morse.py 
input mode (d: decode, e: encode) > d
input your message > .- -- .---- ...- .---- ... .. -... .-.. ...-- -. ----- .--
AM1V1SIBL3N0W

am I visivle now でした。

感想

invisibleとか面白そうだったので解きたかったなー。whitespace言語かと思ったけど違ったみたい。writeup見て復習しよう。

-> 復習した。どれだけツールを知ってるかor調べられるか勝負になってる気がするので、知ってるやつを試してみて & ちょっと観察してみてダメそうだったらすっぱり諦めるのが良さそう。

Stegoは、他にもJust Crack It, Secret, Pretty Goodの3問あったようですが、問題回収しておらず復習できなかった。残念。