katagaitai CTF勉強会 - 関東|med に参加してきました

通算3回目の参加。なんかだんだん解るようになってきた。
kanata約8年前に追加

場所は安定の、人員の許容量が宇宙ヤバい秋葉原UDXで開催

午前の部 trmrさん

Cryptoは、難しい。。けど、面白い!!
興味を持つきっかけになりました。

CTF的には、あらゆる暗号の脆弱性と、それを攻略するサンプルソースを収集しておくと最強という気がしてきた。

brute.c の使い道について

受講者諸氏のみなさんは、きっとご理解の事と思いますが、
そもそも初っ端でハマったりしたので、自分とそういう人のために解説するぞ!!!

最初、本題に入る前に

You must first solve a puzzle, a sha1 sum ending in 16 bit's set to 1, it must be of length 21 bytes, starting with 
rduKahJ1/q4QW1HR

とか言われるでしょ?これは

  • 21ByteのByte列をサーバに送信する
  • 上の場合、"rduKahJ1/q4QW1HR" から始まる21ByteのByte列にすること
  • このByte列のsha1ハッシュを生成した際、末尾16ビットは 0xffff になるようにすること
  • 17Byte目以降は、高い確率でASCII文字以外(バイナリ)になるので、当然 netcat じゃ遅れないぞ!netcatで頑張ってた君!無駄だったな!

20160123_katagaitaiCTF_yojigen.png

ご参考で頂いた brute.c は、答えを16進数で出力してくれますが、
これをバイナリにデコードして送信しないといけないので、netcat だと出来ないのです。
あくまでも、brute.cを参考にプログラミングしてねってことです。brute.cだけでは、この問題を突破できません。

という訳で、brute.c ですが、それをコンパイルして、実行します。

$ ./brute 'rduKahJ1/q4QW1HR'
7264754b61684a312f7134515731485297df000000

正解が16進数で得られます。サーバに送るのは、これを バイナリにしたもの です。
16文字目までは、rduKahJ1/q4QW1HR になってますよ。

rduKahJ1/q4QW1HR = 7264754b61684a312f71345157314852

$ echo "7264754b61684a312f71345157314852" |xxd -p -r
rduKahJ1/q4QW1HR

後半は、 97df000000 とかなってるでしょ?これは netcat から標準入力で入力できないというわけ。

いちおう、本当に要件通りの入力になっているか確認してみますか。

$ ./brute 'rduKahJ1/q4QW1HR'|xxd -p -r |sha1sum 
f7927aeeb5444e87a93cc6f6372b5a82e02effff  -

ふむ、ちゃんと末尾が 0xffffになってますなー。

本題に入る前に、こんな問いをしてくるのは、本題に対するブルートフォースやファジングを抑止する目的があるらしい。

午後の部 bataさん

いやいやいや、私がCTFで得点できないCryptoとPwnでしたが、だんだん解るようになってきましたね。。
ありがたいかぎりです。

ただ、解法まで辿り着くアイデアがスゴイので、こういうの整理したいところ。
(でもなかなか、整理するのが難しいんですよね。。)

特に後半の変態問題と、それを解いた変態解法がスゴイwwww
思わず笑うレベル。

おまけ

お昼は近場の岡むら屋で食べました。
スキヤキを煮詰めた何かがご飯にかかっているような感じ。濃い。

20160123_katagaitaiCTF_okamuraya.jpg

またまた
後援のNRIセキュアテクノロジーズさんから、謎の暗号が書いてあるハッカ飴を頂きました!
ありがとうございました。

20160123_katagaitaiCTF_yojigen.png (20.698 KB) kanata, 2016/01/24 07:42

20160123_katagaitaiCTF_okamuraya.jpg (469.732 KB) kanata, 2016/01/24 07:42


コメント

kanata約8年前に追加

当時の勉強会資料が公開されております。

trmrさん
http://www.slideshare.net/trmr105/presentations

bataさん
http://www.slideshare.net/bata_24/presentations

クリップボードから画像を追加 (サイズの上限: 100 MB)