プロジェクト

全般

プロフィール

ニュース

A painter and a black cat: SECCON 2015 決勝大会・カンファレンスに行きました! (2コメント)

さんが9年以上前に追加

スタッフの皆様、出場者の皆様、登壇者の皆様、お疲れ様でした。
見学してただけの身ですが、本当に楽しかったです!

1日目 intercollege決勝大会(学生大会)

20160130_seccon_1.jpg

会場に入るなり、目に飛び込んできた TomoriNao のインパクトwwww
写真は配慮してねとのことなので、お見せできないのが残念ですが、私の脳内メモリには強い衝撃と共に記録されました。
ちなみに私(が参加させて頂いたチーム)は、オンライン予選では、このコスプレ、もとい生徒会長の集団に惜敗しております。

実力は本物です。

決勝は、attack&defenceという競技ルールで実施しておりました。ゲームバランスというか、得点の仕組みが絶妙で最後まで混戦状態でした。

競技者が何してたのか、見学している所からは判然としませんでしたが、1つの脆弱性を見つけるとそれを全相手チーム対して攻撃を行うよう自動化していたようですね。

優勝は、

20160130_seccon_2.jpg

文部科学大臣賞受賞だそうです。すげぇ。

A Dozen Year of Shellphish

海外のハッキングチーム Shellphish が開発した angr というバイナリ解析フレームワークについて、デモも交えて発表しておりました。
いやこれ。。怖いわww

英語のリスニングは、あまり得意ではありませんが、私の理解を要約すると

  • 従来の Fuzzing は、すさまじい数の入力パターンを試さなければならず、効率的ではない。
  • そこでバイナリを解析し、分岐命令を元に木構造を作る。
  • 木構造を元に、入力値をやみくもに選択しないで、効率的に Fuzzing を行う。
  • 成功した Fuzzing のインプットとバイナリ解析した結果を元に、シェルコードまで生成できちゃう。
  • 以上を自動でできる。怖い。

この時使ったプレゼンテーションの資料
https://goo.gl/mi5UBv

angr は、OSSとして公開しています
https://github.com/angr/angr

面白いものがあった

20160130_seccon_3.jpg

そういえばオンライン予選で、これ使った問題が出てきてたな。。。
当時、そっ閉じしたけどww

2日目 international決勝大会(国際大会)

20160130_seccon_4.jpg

決勝大会は固唾を呑んで見守っておりました。
問題の概要を説明してもらったんですが、すげぇ難易度です。変態じゃないと解けないです。

優勝は韓国の Cykorkinesis
近年、韓国がすごく強いですね!

表彰式までは見学できなかったが、帰ってきてみると

TomoriNao が文部科学大臣賞を受賞してた。
この生徒会長達www
おめでとうございます。

基礎公演「つながるクルマのセキュリティ」

内部の制御プロトコルCANについての説明、それをハッキングする方法を、広島市立大学大学院 井上准教授が公演してくださいました。

CANについては、以下の知見が得られました。

  • データ長は短い 8Byte
  • 全てブロードキャスト
  • データ毎にCANIDというIDが付くが、ノードと1:1というよりかは、機能と1:1になる
  • 認証の仕組みはない
  • ビットが0の方が優先。なので、0x00000000 というデータが最優先になる
  • この最優先データを使えば、DOS攻撃が可能

クルマの制御、すごい楽しそう。

思い出

田中ザックさんにお願いして、一緒に写真写ってもらった。嬉しい。いい思い出です。

コメント

学生限定 ハッカー技術競う
https://youtu.be/Ey2QtaRiuuE

今年度のCTFを無双した韓国チーム、その強さの秘密
http://blog.f-secure.jp/archives/50762469.html

A painter and a black cat: katagaitai CTF勉強会 - 関東|med に参加してきました (1コメント)

さんが9年以上前に追加

場所は安定の、人員の許容量が宇宙ヤバい秋葉原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セキュアテクノロジーズさんから、謎の暗号が書いてあるハッカ飴を頂きました!
ありがとうございました。

コメント

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

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

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

A painter and a black cat: Redmineでwikiの生データを抽出する

さんが9年以上前に追加

wikiの加工前(MarkDown記法そのまま)のデータを取得するシェルスクリプトを書きました。
別の環境に移行する時や、うっかりwikiだけ消してしまった時の復旧などに便利。

実行するとカレントディレクトリにwiki毎にテキストファイルを吐くので、実行する場所は注意してください。wikiの記事数によるけど、いっぱいファイルが吐かれるよ!

詳細は、ALMinium を参照。

A painter and a black cat: katagaitai CTF勉強会 - 関東|hard に参加してきました (2コメント)

さんが9年以上前に追加

場所は前回と同じ、人員の許容量が宇宙ヤバい秋葉原UDXで開催

午前の部 trmrさん

共通鍵暗号であるAESの内部をとてもわかりやすく説明してくれました。
AESは、フタを開けてみると、わかりやすい構造になってました。
今までブラックボックスとしか見ていなかったので、とても勉強になりました!!

しかし演習問題として解説してくれた [Ghost in the shellcode CTF 2013] Q20 - Subme の難易度の高さに笑った。
あんなん難しすぎるやろwww

ちなみに、以下が唯一のwriteupだそうです。
MSLC - Gits ctf 2013 Crypto 500

子育てお疲れ様です。

午後の部 bataさん

ほぼ4時間しゃべりっぱなしのbataさんお疲れ様でした。

初体験、ARMアーキテクチャのアセンブラを読む!ですが、exploitの基本的な原理はx86となんら変わらないので、話にはついていけましたよ!(解けるとは言っていない)
デバック環境の構築だけでもかなり有用でした。素敵な知見が沢山得られました。

特に、telnetを経由してバイナリを送り込んで、リモートで実行する一連の流れを自動化している実演を見たときは、感動致しました。
美しいですな~。

解法その2の方は、意味は解るんだけど、自力でそこに到達できる気がしなかったw
トップレベルの人はすごい事思いつくのね。。

20151220_katagaitaiCTF.jpg

おまけ

後援のNRIセキュアテクノロジーズさんから、謎の暗号が書いてあるハッカ飴を頂きました!
ありがとうございます。(ハッカーとハッカをかけたんですね)
暗号すごい気になるけど、場阿忍愚CTF中なので、ちょっとガマンしよう。。

20151220_katagaitaiCTF_NRIsecure1.jpg

裏面は、前回頂いたコースターと同じ感じかな?

20151220_katagaitaiCTF_NRIsecure2.jpg

コメント

本人巡回済み。
ありがとうございます。

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

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

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

A painter and a black cat: MobaXterm - 求めていたWindows用GNU環境がここにあった!!!1

さんが9年以上前に追加

Windowsでgrepしたいとか、シェルスクリプトでデータ編集したいとか、scp使いたいとか、sed使いたいとか、もぅあれやこれやが稀によくあった。
でも、cygwinを入れるという気にならなかった。portable版がないしね。ちょこっとGNUコマンド使いたいだけなんだけど。

MobaXtermが全てを解決してくれたんだ!!1

  • 日常的に使いたいコマンドがほぼ全部最初入っている!シェルスクリプト組む時に、足りないコマンドが無い。
  • それにしても軽い。
  • portable版がある。20MBくらい。余裕で持ち運べる。
  • SSHクライアントも入ってる。超便利。TeraTermの代わりになる。
  • X Clientもできる。
  • ちなみにmoshも入ってる。

素晴らしい。

MobaXterm
http://mobaxterm.mobatek.net/

20151107_mobaxterm.jpg

A painter and a black cat: Dentoo.LT#12を聴講させて頂きました

さんが9年以上前に追加

以前参加させて頂いたすみだセキュリティ勉強会2015#1Dentoo.LTというものの存在を知り、前々から興味があったので、聴講させて頂きました。

コレ好きィ!
とっても面白かった。いつか自分も発表したい!

色々なマニアックな話題の中にも、高度に技術的な話が織り込まれていて、いや、これ、ホントレベル高いと思っていながらも、ずっと笑ってました。
完飲。

あと、文字フリマのステッカー頂きました。ありがとうございます。

(111-120/155)

他の形式にエクスポート: Atom