Upload
yukio-nagao
View
703
Download
1
Embed Size (px)
Citation preview
第 8 回 神戸情報セキュリテゖ勉強会 (セキュメロ) まとめ
2009年03月14日
スケジュール
1. 自己紹介
2. CTF Level 100 解説と Level 150 実践
自己紹介#1
初参加多数!ありがとうございます!!
8 回目 (皆勤!) が、お一人いました。
久々に参加 *2
遠方からもありがとうございます!
神奈川から参加!
岡山から。*2
名古屋から。
青春18きっぷで東京から!
いろいろ
もみじで敗退。。。リベンジ?
「ない舞踏性」でストレスが溜まっている。。。
わんくまが 3/20 にあります。
自己紹介#2 「私がセキュリテゖに興味を持った瞬間」
エンターテメント?
小学生時代に小説を読んだとき。
映画のワンシーン (ハッキングシーン?)
ウゖルス系
ウゖルスという存在に興味を持ったとき。
しばらく使っていない、Windows Me で診断ツールを動かしたら、スパウェゕが 40 ほど見つかった!
家の PC にいつの間にかセキュリテゖソフトを入れた瞬間?
コピーしたデータにウゖルスが混入していたとき。
「ウゖルスを作りたい」とおもった瞬間(中学時代?)に、環境があると悪いを学ぶ。けど、ちゃんとした教育を受けて更正すれば、立派に育つよ!
IE の 0day をダウンロードして、実際に動かしてみた瞬間(閉じた環境でやってね!)
12 年前、大学内でウゖルス感染で騒ぎになったとき。
自己紹介#3 「私がセキュリテゖに興味を持った瞬間」
脆弱性系
セキュリテゖ診断を受けたとき。
ISDN 時代に bind 脆弱性で、家庭内サーバを乗っ取られた!!
メールサーバを乗っ取られたとき。
sendmail の 3rd Party Relay 問題を実見したとき。
ゲームのプログラミングをするため家庭内サーバを設置。IRC で会話した相手にサーバを教えたら、脆弱性を指摘される!(好き放題された?)
Web 脆弱性がトピックになった(2002 年?)とき。
会社にフゖッシングサトが建っていた。
Nimda が蔓延したとき。
研究室でサーバ管理を始めたら、赤い国から攻撃を受けていた。
会社のサーバ管理してて、ISDN の疎通ランプが意図せず光っていたのを見た瞬間。
自己紹介#4 「私がセキュリテゖに興味を持った瞬間」
攻撃系?
学校のサーバに、正規でない ID でログンできてしまった!
学校のパソコンルームで、他人のマシンにいたずらしたいと思ったとき。
会社にある Windows NT サーバのページ (IIS?) を書き換えることができてしまったとき。
商用サーバでデータを書き換えてしまった瞬間。
友達にSQLンジェクションを教えてもらったとき。
指摘により。。。
Web開発を始めて、先輩にセキュリテゖ的な指摘を受けたとき。
情報系の学部で、プログラムを提出したときに、教授にセキュリテゖ的な指摘(シェルで root 権限取れる!)を受けて、自分で勉強して理解したとき。
自己紹介#5 「私がセキュリテゖに興味を持った瞬間」
その他 #1
フゔゕウォールルータをモスキートで作って、それまで頻発していたゕラームが消滅したとき。(達成感が!)
IRC で悪い人に唆されたとき。
あやしいメールを受け取ったとき。
「ネットゲームのゕカウントが盗まれた」と聞いたとき。「仲間を守りたい!」
雑誌(あやしい?)記事を見たとき。
社会人になって、クレジットカードを使ったとき。
ATMなどシステムの本質(どういう動きか)を知りたいと思ったとき。
セキュリテゖがなおざりになっていると思ったとき。
大学に編入した友達に、啓蒙されたとき。
セキュリテゖのゼミを受講して、用語が分からなかったとき。
NTT局で火事があってから、二重化した時。
自己紹介#6 「私がセキュリテゖに興味を持った瞬間」
その他 #2
無線LANについて「危ないよ」的な情報を見たとき。
会社で ID 発行してもらいながら、顔パスで門を通過できたとき。
「面白そう」と、ゲーム感覚で「セキュリテ」を捉えたとき。
大学の研究室で知識を得ていたが、それを会社で実見したとき。
希望
自分の PC に許可しないゕクセスをさせないようにしたい。
将来 Linux でサーバ管理をしたい。
出張! CTF プロジェクト入門編 in 神戸 概要説明 #1
スピーカ 福森さん、チュータ 愛甲さん、勇士Qさん
CTF Level 100 の解説
福森さんの作った、擬似 (Level 150) 問題で実践。
余裕ある人は、得点の高い問題 (難しい) にチャレンジ!
今日は Web の問題はないです。
48h 耐久予選の通過チームが、旗取りゲームに参加。
2008 年の本選はラスベガスで。
お互いをハッキングしあう、まさに旗取りゲーム。
2008 年 (2009/03/06-07 開催) 日本チーム予選 13 位。
http://hacking.beist.org/
韓国が強い!負けられない戦い!!
出張! CTF プロジェクト入門編 in 神戸 概要説明 #2
フゔルからキーを捜す
バナリフゔルの解析で得た情報
サーバを攻撃して、キーを手に入れる
必要知識は幅広い
フゔル解析、ネットワーク系など多彩。
検査方法
ブラックボックス : ポーリング(?) で試行錯誤しながら、攻撃。
ホワトボックス : ソース解析を実施。
問題文が意味不明。。。
サーバは FreeBSD が多い
出張! CTF プロジェクト入門編 in 神戸 概要説明 #3
相手を疲弊させるトラップ(?)が多数。。。
単純作業で疲弊させる (形式を変えて圧縮を繰り返す、など)
内輪ネタで疲弊。。。
twitter の書きこみから情報を仕入れることも。
ちゃんと相手のことを調べているのかも試される?
いろいろ、精神的にも凹まされる。
エロ、グロ画像も仕込まれている。
でも、そこにキーが隠されているかも。
無視できないけど、精神的な疲弊を招く。
答えは Jeopardy-Style 形式 (答えがあって、問題を書く)
例えば、ダブルクォートの意味 (強調が転じて皮肉?) が仕込まれている?
出張! CTF プロジェクト入門編 in 神戸 実践チャレンジ!! #1
いつになく、静かな勉強会w
キーボードを叩く音だけが響く。。。
皆さん、熱中されていました。
擬似問題の環境説明
http://hostname/ctf/register/ で ID 登録して、ログン
自作スコゕボード。未回答(青)、回答済み(緑)、選択不可(灰色)
カテゴリ (Trivia, Forensics, Binary, Potent (攻撃), Real World)
以後、福森さんが問題の説明をしつつ、皆さん解答にチャレンジ!
Trivia
Level 100
「Hack the Planet」の、てきとーな穴埋め?
※映画「サバーネット」に出てくる台詞?
Level 150 にチャレンジ!
文字数から推測して、単語を埋めたら、解答出来るかも?
出張! CTF プロジェクト入門編 in 神戸 実践チャレンジ!! #2
Forensics
ンシデント発生後に痕跡を解析。調査対象はメモリ、デゖスク。
ンシデントの情報公開に向け、証拠隠滅に対抗する。
消されたフゔルを調査。
フゔルのゕドレスとデータ。(i-node とか?)
※フゔル削除ではゕドレスだけが消され、データは消えない!
本当に消すためには、無意味な文字列で上書きすべき。
shred コマンドを利用してもよい。
Anti Forensics
フゔルのタムスタンプ、OS の改変など
フォレンジックに有益な情報を残さないようにする。
Level 100
デゖスクメージの調査。Autopsy (フリー) が有用で、良く使われる。
赤で表示されるフゔルは、ンデックスが消えているが、実体はある。
Level 150
画像フゔルを見つけて、エクスポート。
ヒント : プロパテゖに答えが隠される。(バナリで)
出張! 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” じゃ、望む結果は取れないよ。
出張! CTF プロジェクト入門編 in 神戸 実践チャレンジ!! #4
Binary
機械語から、逆ゕセンブルして、ゕセンブリ言語ベースで解析
C 言語など -> ゕセンブリ言語 -> 機械語
高級言語までは戻せない。
ツールには nasm や ndisasm を使う。
ゕセンブリ言語
レジスタ (CPU とかメモリとか) に直接ゕクセス
ゕセンブリの命令は、そんなにない
mov (move), shr (shift right), rep (repeat)
movsd (4 バトコピー), and (ビット演算)
Level 150 は、時間がないので飛ばします。。。(残念!)
出張! CTF プロジェクト入門編 in 神戸 実践チャレンジ!! #5
Real World
telnet で接続、認証
サーバから受信するデータ(認証結果)にキーが隠される。
どういうパスワードを入力するか。
IDA で解析して手がかりを。Python スクリプトでサーバに接続。
出題されたフゔルをドラッグし、読み込んで開始。
解析したら、サーバにゕクションして、答えを得る。
Level 100
“Function” を見て関数を確認。
”_strncmp” があやしい。
“_strncmp” の流れ (引数) を確認。
Graph を出して、命令処理体系が分かる。
readUtil の返り値が比較文字数に。
手がかりを見つけ、ブルートフォースを実行してみる。
Level 150 は、Level 100 の解答 (Python スクリプト) 一部変更。
最後に
会場をご用意いただいた、ひょうご情報教育機構(CMU 日本校) の皆さん、いつも感謝しています。
スピーカの福森さん、チュータの愛甲さん、勇士Qさん、本当にありがとうございます。
そして、参加された皆さんありがとうございます!!