hiww_備忘録

Anime, CTF

PoliCTF 2017 Writeup

PoliCTF 2017 にチーム Harekaze として参加しました。チームの総得点は1572点でした。(25位/252チーム中)

[Crypto] Rock Solid Cryptography

Problem

7º 2' 34.46" W 54º 41' 54.28" N
Pay attention: the flag is not in the standard format

Update: Flag format: all uppercase

Download the challenge here! 
(SHA 256 checksum: 1b6815b5ae7dac3e9e51c1609f177f9732a880f009545941dc65511506bdec37)

GoogleMapで調べてみると、ストリートビューでOGHAM STONEが見つかる。 調べて見るとOgham 暗号と呼ばれる暗号方式だということがわかる。 次に、与えられている画像を法則にしたがって変換する。 (下記に貼った画像は与えられた画像を白黒にしたもの) f:id:hiww:20170710001949j:plain NOTUNICODECOMPATIBLE

一番簡単な問題しか解けなかったのでつらい。これからも精進していきたい。

Memo

取り組んだけど、時間内に解けてなかった問題

[Forensics] Stegocat

[Forensics] Ham

[Forensics] Synesthesia

首を傾げた問題(Writeup読んだら即解けた)

[Grab Bag] file proxy (ほぇーって感じ。)

SHA2017 CTF Teaser round Writeup

SHA2017 CTF Teaser roundにチーム Harekaze として参加しました。チームの総得点は650点でした。

[Web 50] Are you safe

Problem

SSL all the things! Start with your own webserver.

SSL対応のサーバーをローカルで作って任意のファイル「sha2017.ctf」をroot直下に配置。 中身は動的に生成された文字列にする。

f:id:hiww:20170612181133j:plain

SSL対応は「ngrok」を用いた。

mac環境は brew install ngrok または brew cask install ngrok

Ubuntu等は sudo apt-get install ngrok-client でインストールすることができる。

ngrok - secure introspectable tunnels to localhost

httpsのサイトをランク付けするサイトで診断してからローカルのURLを入力して送信する。

SSL Server Test (Powered by Qualys SSL Labs)

すると、FLAGが表示される。

f:id:hiww:20170612181418j:plain

flag{bb99d0e6fb089350af60504f49c7f2fa}

Security Fest CTF 2017 Writeup

Security Fest 2017 にチーム Harekaze として参加しました。チームの総得点は1660点でした。

[Misc 10] #makeircgreatagain

Problem

Sanity check! Flags is in the topic of #securityfest-ctf @ irc.freenode.net
Service: https://kiwiirc.com/client/irc.freenode.net:+6667/#securityfest-ctf

IRCにログインするとFLAGが貼ってある。それだけ。

SCTF{Welcome_to_SECURITYFEST_CTF_2017!}

競技開始時刻が21:00(JST)~だったのですが、3分程前には一部問題が閲覧可能状態だったので、少し戸惑いました。

あと、メモ程度に何故その時気が付かなかったのかという問題について書いておこうかと。

[Misc 200+15] Qr code madness

Problem

Random pictures, this do not make sense

zip内の114個のQRコードをexiftool, binwalk, stegnoし、FLAGの手がかりがないと思ってしまい、
Slackにとりあえず全QRコードのファイル名順の内容を貼って寝てしまった。
QRコードの内容は
n9JWXFbBVRev=k5jXD9a2UXFPbMSxyA=Ai9ukDp9WxzrsZ1WNTo1aKXE3YGMth1gIdSULIMNmDGBqz104+HdCazUcfnQ7cdMRUCtu6gfFzNWfMH0mN

そして、次の朝、チームのプロが解いていた。
解法はとても単純で、日付順にファイルを並べ、順番にQRコードを並べて終わり。

更新日時順にQRコードを並べると
aC+40zqGmlLSdIJ1hY3EKoTwsrxWpkiAybPXU9Dj5veRVBHfFg6utM7QncU0NURntUaDNzM19kNG1uX1FSX2MwZDNfazMzcF9wMHAxbmdfdXB9Cg==

その後、少し工夫が必要で、base64でencodeされているっぽいので長さを調整してみる。
文字列の後ろから64文字程度切り出してdecodeするとFLAGが確認できた。
ls -ltr してファイルの更新日を降順で知り、zbarでQRコードの認識、その後、decode.
mb% base64 -D base64_qr.txt > flag.txt

以下に作業したrepositoryを貼っておく。 prog/CTF/securityfestctf2017/qrcodemadness at master · hiww/prog · GitHub


今後は、もっと念入りに調べていけるようにしたいなぁ…