17
8 神戸情報セキュリテゖ勉強会 ( セキュメロ ) まとめ 2009 03 14

Kobe sec#8 summary

Embed Size (px)

Citation preview

Page 1: Kobe sec#8 summary

第 8 回 神戸情報セキュリテゖ勉強会 (セキュメロ) まとめ

2009年03月14日

Page 2: Kobe sec#8 summary

スケジュール

1. 自己紹介

2. CTF Level 100 解説と Level 150 実践

Page 3: Kobe sec#8 summary

自己紹介#1

初参加多数!ありがとうございます!!

8 回目 (皆勤!) が、お一人いました。

久々に参加 *2

遠方からもありがとうございます!

神奈川から参加!

岡山から。*2

名古屋から。

青春18きっぷで東京から!

いろいろ

もみじで敗退。。。リベンジ?

「ない舞踏性」でストレスが溜まっている。。。

わんくまが 3/20 にあります。

Page 4: Kobe sec#8 summary

自己紹介#2 「私がセキュリテゖに興味を持った瞬間」

エンターテメント?

小学生時代に小説を読んだとき。

映画のワンシーン (ハッキングシーン?)

ウゖルス系

ウゖルスという存在に興味を持ったとき。

しばらく使っていない、Windows Me で診断ツールを動かしたら、スパウェゕが 40 ほど見つかった!

家の PC にいつの間にかセキュリテゖソフトを入れた瞬間?

コピーしたデータにウゖルスが混入していたとき。

「ウゖルスを作りたい」とおもった瞬間(中学時代?)に、環境があると悪いを学ぶ。けど、ちゃんとした教育を受けて更正すれば、立派に育つよ!

IE の 0day をダウンロードして、実際に動かしてみた瞬間(閉じた環境でやってね!)

12 年前、大学内でウゖルス感染で騒ぎになったとき。

Page 5: Kobe sec#8 summary

自己紹介#3 「私がセキュリテゖに興味を持った瞬間」

脆弱性系

セキュリテゖ診断を受けたとき。

ISDN 時代に bind 脆弱性で、家庭内サーバを乗っ取られた!!

メールサーバを乗っ取られたとき。

sendmail の 3rd Party Relay 問題を実見したとき。

ゲームのプログラミングをするため家庭内サーバを設置。IRC で会話した相手にサーバを教えたら、脆弱性を指摘される!(好き放題された?)

Web 脆弱性がトピックになった(2002 年?)とき。

会社にフゖッシングサトが建っていた。

Nimda が蔓延したとき。

研究室でサーバ管理を始めたら、赤い国から攻撃を受けていた。

会社のサーバ管理してて、ISDN の疎通ランプが意図せず光っていたのを見た瞬間。

Page 6: Kobe sec#8 summary

自己紹介#4 「私がセキュリテゖに興味を持った瞬間」

攻撃系?

学校のサーバに、正規でない ID でログンできてしまった!

学校のパソコンルームで、他人のマシンにいたずらしたいと思ったとき。

会社にある Windows NT サーバのページ (IIS?) を書き換えることができてしまったとき。

商用サーバでデータを書き換えてしまった瞬間。

友達にSQLンジェクションを教えてもらったとき。

指摘により。。。

Web開発を始めて、先輩にセキュリテゖ的な指摘を受けたとき。

情報系の学部で、プログラムを提出したときに、教授にセキュリテゖ的な指摘(シェルで root 権限取れる!)を受けて、自分で勉強して理解したとき。

Page 7: Kobe sec#8 summary

自己紹介#5 「私がセキュリテゖに興味を持った瞬間」

その他 #1

フゔゕウォールルータをモスキートで作って、それまで頻発していたゕラームが消滅したとき。(達成感が!)

IRC で悪い人に唆されたとき。

あやしいメールを受け取ったとき。

「ネットゲームのゕカウントが盗まれた」と聞いたとき。「仲間を守りたい!」

雑誌(あやしい?)記事を見たとき。

社会人になって、クレジットカードを使ったとき。

ATMなどシステムの本質(どういう動きか)を知りたいと思ったとき。

セキュリテゖがなおざりになっていると思ったとき。

大学に編入した友達に、啓蒙されたとき。

セキュリテゖのゼミを受講して、用語が分からなかったとき。

NTT局で火事があってから、二重化した時。

Page 8: Kobe sec#8 summary

自己紹介#6 「私がセキュリテゖに興味を持った瞬間」

その他 #2

無線LANについて「危ないよ」的な情報を見たとき。

会社で ID 発行してもらいながら、顔パスで門を通過できたとき。

「面白そう」と、ゲーム感覚で「セキュリテ」を捉えたとき。

大学の研究室で知識を得ていたが、それを会社で実見したとき。

希望

自分の PC に許可しないゕクセスをさせないようにしたい。

将来 Linux でサーバ管理をしたい。

Page 9: Kobe sec#8 summary

出張! CTF プロジェクト入門編 in 神戸 概要説明 #1

スピーカ 福森さん、チュータ 愛甲さん、勇士Qさん

CTF Level 100 の解説

福森さんの作った、擬似 (Level 150) 問題で実践。

余裕ある人は、得点の高い問題 (難しい) にチャレンジ!

今日は Web の問題はないです。

48h 耐久予選の通過チームが、旗取りゲームに参加。

2008 年の本選はラスベガスで。

お互いをハッキングしあう、まさに旗取りゲーム。

2008 年 (2009/03/06-07 開催) 日本チーム予選 13 位。

http://hacking.beist.org/

韓国が強い!負けられない戦い!!

Page 10: Kobe sec#8 summary

出張! CTF プロジェクト入門編 in 神戸 概要説明 #2

フゔルからキーを捜す

バナリフゔルの解析で得た情報

サーバを攻撃して、キーを手に入れる

必要知識は幅広い

フゔル解析、ネットワーク系など多彩。

検査方法

ブラックボックス : ポーリング(?) で試行錯誤しながら、攻撃。

ホワトボックス : ソース解析を実施。

問題文が意味不明。。。

サーバは FreeBSD が多い

Page 11: Kobe sec#8 summary

出張! CTF プロジェクト入門編 in 神戸 概要説明 #3

相手を疲弊させるトラップ(?)が多数。。。

単純作業で疲弊させる (形式を変えて圧縮を繰り返す、など)

内輪ネタで疲弊。。。

twitter の書きこみから情報を仕入れることも。

ちゃんと相手のことを調べているのかも試される?

いろいろ、精神的にも凹まされる。

エロ、グロ画像も仕込まれている。

でも、そこにキーが隠されているかも。

無視できないけど、精神的な疲弊を招く。

答えは Jeopardy-Style 形式 (答えがあって、問題を書く)

例えば、ダブルクォートの意味 (強調が転じて皮肉?) が仕込まれている?

Page 12: Kobe sec#8 summary

出張! CTF プロジェクト入門編 in 神戸 実践チャレンジ!! #1

いつになく、静かな勉強会w

キーボードを叩く音だけが響く。。。

皆さん、熱中されていました。

擬似問題の環境説明

http://hostname/ctf/register/ で ID 登録して、ログン

自作スコゕボード。未回答(青)、回答済み(緑)、選択不可(灰色)

カテゴリ (Trivia, Forensics, Binary, Potent (攻撃), Real World)

以後、福森さんが問題の説明をしつつ、皆さん解答にチャレンジ!

Trivia

Level 100

「Hack the Planet」の、てきとーな穴埋め?

※映画「サバーネット」に出てくる台詞?

Level 150 にチャレンジ!

文字数から推測して、単語を埋めたら、解答出来るかも?

Page 13: Kobe sec#8 summary

出張! CTF プロジェクト入門編 in 神戸 実践チャレンジ!! #2

Forensics

ンシデント発生後に痕跡を解析。調査対象はメモリ、デゖスク。

ンシデントの情報公開に向け、証拠隠滅に対抗する。

消されたフゔルを調査。

フゔルのゕドレスとデータ。(i-node とか?)

※フゔル削除ではゕドレスだけが消され、データは消えない!

本当に消すためには、無意味な文字列で上書きすべき。

shred コマンドを利用してもよい。

Anti Forensics

フゔルのタムスタンプ、OS の改変など

フォレンジックに有益な情報を残さないようにする。

Level 100

デゖスクメージの調査。Autopsy (フリー) が有用で、良く使われる。

赤で表示されるフゔルは、ンデックスが消えているが、実体はある。

Level 150

画像フゔルを見つけて、エクスポート。

ヒント : プロパテゖに答えが隠される。(バナリで)

Page 14: Kobe sec#8 summary

出張! CTF プロジェクト入門編 in 神戸 実践チャレンジ!! #3

Potent

リモートサーバに接続して調査、攻撃、解析

Level 100

telnet でつなぐと、MUD (マルチユーザダンジョン。テキストだけ) が動いていた。tell コマンドで話しかけて、試行錯誤。

「tell Kira root」と話しかけると、Fingerの結果めいたものが得られる。そこから、サーバで起こっていること(動作)を想像。

OS コマンドンジェクションで。(例 : asdf; cat key)

Level 150

telnet でログン。MUD にユーザ登録してゲーム開始。

まずはログンにチャレンジ!

ヒント : OS コマンドンジェクション。OS は Windows。

“echo a;echo b” じゃ、望む結果は取れないよ。

Page 15: Kobe sec#8 summary

出張! CTF プロジェクト入門編 in 神戸 実践チャレンジ!! #4

Binary

機械語から、逆ゕセンブルして、ゕセンブリ言語ベースで解析

C 言語など -> ゕセンブリ言語 -> 機械語

高級言語までは戻せない。

ツールには nasm や ndisasm を使う。

ゕセンブリ言語

レジスタ (CPU とかメモリとか) に直接ゕクセス

ゕセンブリの命令は、そんなにない

mov (move), shr (shift right), rep (repeat)

movsd (4 バトコピー), and (ビット演算)

Level 150 は、時間がないので飛ばします。。。(残念!)

Page 16: Kobe sec#8 summary

出張! CTF プロジェクト入門編 in 神戸 実践チャレンジ!! #5

Real World

telnet で接続、認証

サーバから受信するデータ(認証結果)にキーが隠される。

どういうパスワードを入力するか。

IDA で解析して手がかりを。Python スクリプトでサーバに接続。

出題されたフゔルをドラッグし、読み込んで開始。

解析したら、サーバにゕクションして、答えを得る。

Level 100

“Function” を見て関数を確認。

”_strncmp” があやしい。

“_strncmp” の流れ (引数) を確認。

Graph を出して、命令処理体系が分かる。

readUtil の返り値が比較文字数に。

手がかりを見つけ、ブルートフォースを実行してみる。

Level 150 は、Level 100 の解答 (Python スクリプト) 一部変更。

Page 17: Kobe sec#8 summary

最後に

会場をご用意いただいた、ひょうご情報教育機構(CMU 日本校) の皆さん、いつも感謝しています。

スピーカの福森さん、チュータの愛甲さん、勇士Qさん、本当にありがとうございます。

そして、参加された皆さんありがとうございます!!