hokkaido.cap#3 ケーススタディ(基礎編)

34
ケーススタディ (基礎編) Hokkaido.cap #3 2011.05.20 Masayuki YAMAKI

Upload: panda-yamaki

Post on 30-Jun-2015

2.734 views

Category:

Documents


1 download

DESCRIPTION

Hokkaido.cap#3の演習資料です。

TRANSCRIPT

Page 1: Hokkaido.cap#3 ケーススタディ(基礎編)

ケーススタディ (基礎編)

Hokkaido.cap #3

2011.05.20

Masayuki YAMAKI

Page 2: Hokkaido.cap#3 ケーススタディ(基礎編)

今日の目標

• 実際にネットワーク上で起こるトラブルが、Wireshark からどのように見えるか確認しましょう。

• 解析作業をとおして、パケット解析のコツ(見るべきところ)を抑えましょう。

2

Page 3: Hokkaido.cap#3 ケーススタディ(基礎編)

前回までのおさらい

• 第1回目の資料「Winresharkの使い方(基礎編)」を以下のURLで公開しています。(USBメモリにも収録しています)Wiresharkを初めて使う方は参照しながら進めてみてください。

http://handsout.jp/slide/3623

• 操作方法がわからない場合は、遠慮せずにどんどん質問してください。

3

Page 4: Hokkaido.cap#3 ケーススタディ(基礎編)

今日の進め方

• 「実践パケット解析第7章ケーススタディ(基礎編)」の内容をベースに進めます。

• 本書をお持ちの方は演習に合わせて参照してください。(スライドには概要のみ記載しています)

• 気付いた点やわからない点があれば自由にディスカッションしましょう。

4

Page 5: Hokkaido.cap#3 ケーススタディ(基礎編)

5

演習資料

- 基礎編 -

Page 6: Hokkaido.cap#3 ケーススタディ(基礎編)

TCP の通信障害 (1/3)

• サンプルファイル : tcp-con-lost. pcap

• 5番目のパケット以降、通信の再送を繰り返している。 (Retransmission:再送)

- Windowsのデフォルトでは、約9.6秒(※)の間に5回再送を試み、5回とも失敗すると通信が終了する。

6

Page 7: Hokkaido.cap#3 ケーススタディ(基礎編)

TCP の通信障害 (2/3)

• 徐々に再送の時間が増えているのがわかる。

- View → Time Display Format → Seconds SinceBeginning of Capture でキャプチャ時間の相対表示

» 0.2 → 0.6 → 1.2 → 2.4 → 4.8 [秒]

7

Page 8: Hokkaido.cap#3 ケーススタディ(基礎編)

TCP の通信障害 (3/3)

• 応答確認番号(ACK=5481)とシーケンス番号(Seq=5841)に注目する。再送が始まった場所を見つけることが原因解明の手掛かりとなる。

8

応答確認番号

(次にほしいデータはシーケンス番号5481です)

シーケンス番号

Page 9: Hokkaido.cap#3 ケーススタディ(基礎編)

届かないパケットと ICMP コード (1/2)

• サンプルファイル : destunreachable. pcap

• 1番目のパケットで 10.2.10.2 → 10.4.88.88 にEchoリクエストを送信しているのに、2番目のパケットでは 10.2.99.99 が応答を返している。

- 正常な場合は本来の送信先である 10.4.88.88 がEchoリプライ(ICMPタイプ0)を返す。

9

Page 10: Hokkaido.cap#3 ケーススタディ(基礎編)

届かないパケットと ICMP コード (2/2)

• 2番目のパケットの詳細でICMPの部分を展開すると、ICMPタイプ3のコード1(ホスト到達不能)が返っていることがわかる。

- すなわち、Echoリクエストが送信先ホストに到達できなかったことを示している。

10

Page 11: Hokkaido.cap#3 ケーススタディ(基礎編)

IP フラグメンテーション (1/2)

• サンプルファイル : ipfragments. pcap

• 「Fragmented IP Protocol」が表示されている。(補足: “TCP segment of a reassembled PDU “ は TCPレイヤでの分割)

- Ethernetで1回に送信できるパケットサイズ : 1,500byte- IPでは分割されたパケットを送信するとき、その順番を示す「オフセット値」を用意する。

- オフセット+データサイズが次のパケットのオフセット値

11

Page 12: Hokkaido.cap#3 ケーススタディ(基礎編)

IP フラグメンテーション (2/2)

• 1つ目のパケット

- Flags : 1

- Flagment offset : 0

12

• 3つ目のパケット

- Flags : 0

- Flagment offset : 2960

Page 13: Hokkaido.cap#3 ケーススタディ(基礎編)

13

演習資料

- 実際のトラブル -

Page 14: Hokkaido.cap#3 ケーススタディ(基礎編)

接続不能 (1/4)

• BarryのPCは問題なくインターネットに接続できますが、BethのPCはインターネットに接続できません。原因を調べてみましょう。

14

ねぇ、なんでおれのPC ネット見れねーの? ねぇなんで?

知るかボケ。自分で調べろや。

Page 15: Hokkaido.cap#3 ケーススタディ(基礎編)

接続不能 (2/4)

• サンプルファイル : barryscomputer. pcapbethscomputer.pcap

• 正常に接続できるPCのキャプチャファイルと、接続できないPCのキャプチャファイルを比較し、原因を探る。

• ベースライニング

- 正常な状態を記録しておいて、それを基軸(ベースライン)として現状との相違点を調査する手法。

15

Page 16: Hokkaido.cap#3 ケーススタディ(基礎編)

接続不能 (3/4)• barryscomputer. pcap

- ARP → 3ウェイハンドシェイクの後にHTTP通信開始

16

• bethscomputer.pcap- ARPの後にNetBIOS通信が開始されている

Page 17: Hokkaido.cap#3 ケーススタディ(基礎編)

接続不能 (4/4)

• Windowsの場合、NetBIOSはTCP/IPが機能しなかったときに使われることが多い。

- TCP/IPを使ってインターネットへの接続を試みたが接続できず、かわりにNetBIOSを使用した。(NetBIOSも失敗)

• Barryのキャプチャファイルの異なる点は、

- ARP Responseが返っていない

- ARP Requestが要求しているIPアドレスが192.168.0.10 ではなく、192.168.0.11

17

→ 原因はデフォルトゲートウェイの設定ミス

Page 18: Hokkaido.cap#3 ケーススタディ(基礎編)

Internet Explorer の悪魔 (1/3)

• Chadのブラウザのホームページは毎回気象サイトを

表示するようになってしまい、設定を変更しても元に戻ってしまいます。何が起こっているか調べてみましょう。

18

天気しか見れねぇ…おわっとる。

Page 19: Hokkaido.cap#3 ケーススタディ(基礎編)

Internet Explorer の悪魔 (2/3)

• サンプルファイル : hauntedbrowser .pcap- 何もしていないのに、大量のTCPとHTTP通信が行われている。

19

Page 20: Hokkaido.cap#3 ケーススタディ(基礎編)

Internet Explorer の悪魔 (3/3)

• 5番目のパケットを見るとインターネットからデータをダウンロードしているのがわかる。

20

• 11、12番目のパケットは気象サイトへの名前解決。

原因はPCの起動時にバックグラウンドで

動作するデスクトッププログラム

Page 21: Hokkaido.cap#3 ケーススタディ(基礎編)

FTP サーバとの通信 (1/3)

• FTPクライアントからFTPサーバへアクセスすることがで

きません。クライアント、サーバ双方のパケットをキャプチャして調べてみましょう。

21

アップロード遅いよ!なにやってんの!?(ブライトさん風に)

Page 22: Hokkaido.cap#3 ケーススタディ(基礎編)

FTP サーバとの通信 (2/3)• サンプルファイル : ftpclientdenied .pcap

22

• サンプルファイル : ftpserverdenied .pcap

• サーバ/クライアントのキャプチャファイルの内容はほとんど同じ。

• クライアントからSYNパケットを3回送信している。

- 送信元ポート番号が異なるのはキャプチャしたタイミングの違いであり、ここでは問題ではない。

Page 23: Hokkaido.cap#3 ケーススタディ(基礎編)

FTP サーバとの通信 (3/3)

• ここでわかることは「クライアントからサーバにパケットが届いているが、サーバが応答していない」ということである。

• 考えられる主な原因は、

- サービスが稼働していない

- パケットが意図的にブロックされている(Windowsファイアウォールなど)

23

このパケットだけではトラブルそのものの原因はわからないが、問題がサーバ側にあることまで切り分けができ、問題の早期解決に繋がる。

Page 24: Hokkaido.cap#3 ケーススタディ(基礎編)

私のせいじゃない (1/2)

• Erinがオンラインで製品の注文フォームを送信すると、毎回 HTTP 403 Forbidden になります。彼女はこれを社内ネットワーク側の問題であると疑っています。

• 原因を調査し、問題はWebサイト側にあることを証明しましょう。

24

私のせいじゃないですぅ。オムライスも食べれない

ですぅ。><

Page 25: Hokkaido.cap#3 ケーススタディ(基礎編)

私のせいじゃない (2/2)• サンプルファイル : http-fault-post .pcap

• 403のエラーを返している9番目のパケットを右クリックして Follow TCP Stream を実行。

25

クライアントからサーバにデータを送信していることがわかる。

Page 26: Hokkaido.cap#3 ケーススタディ(基礎編)

悪魔のプログラム (1/5)

• MundieのPCがスパイウェアに感染しました。

• ここではすぐにスパイウェアを除去するのではなく、このPCがどのような挙動をしているか追跡してみましょう。

26

エロサイト見てたら感染した。おれ、

クビかな?

気にすんな。今日は飲み行くぞ。

Page 27: Hokkaido.cap#3 ケーススタディ(基礎編)

悪魔のプログラム (2/5)

• サンプルファイル : evilprogram.pcap• 特徴的なパケット

- 3番目:外部から5554番ポートへのアクセス

- 5番目:外部から9898番ポートへのアクセス

» これらはPC起動中(DHCP初期化中)のため破棄されるが、通信可能になると受け取ってしまう。

» その後、MundieのPCにIPアドレス 24.6.125.19 が割り当てられ通信可能となる。

- 10番目~:引き続き外部からのアクセスがあるが、MundieのPCでは該当ポートのサービスが起動していないため、RSTパケットを返して通信が終了している。

27

Page 28: Hokkaido.cap#3 ケーススタディ(基礎編)

悪魔のプログラム (3/5)• 正常な通信をフィルタする

- 68番目~:McAfeeのupdateが開始

» 今回のケースでは正常な通信は解析の邪魔になるため、ディスプレイフィルタで非表示にする。

• 特徴的なパケット(続き)

- 147番目:外部からのMessenger

» バイナリ部をみるとメッセージの内容がわかる。

» Messengerサービスが無効であるため、Mundieはこのメッセージを見てない。(148番目:ICMP port unreachable)

28

Page 29: Hokkaido.cap#3 ケーススタディ(基礎編)

悪魔のプログラム (4/5)- 210番目:1025番ポートへのアクセスにRSTを返していない

» つまり、このポートを使ったサービスが稼働している。

» 以降、357番目までは同様の動き(成功、失敗の繰り返し)

- 357番目:DCERPC (リモートからのプログラム実行)

- 381番目:DNS名前解決(updates.virtumonde.com)

» このサイトとの通信のみ表示するフィルタを適用してみる。

29

Stastics → Conversations24.6.125.19 と 208.48.15.13の通信を右クリックしてApply as Filter

Page 30: Hokkaido.cap#3 ケーススタディ(基礎編)

悪魔のプログラム (5/5)

- 386番目:bkinst.exe というプログラムをダウンロードしている

30

このケースではバックグランドで稼働しているRPCサービスを利用してスパイウェアをダウンロードし、実行していた。

Page 31: Hokkaido.cap#3 ケーススタディ(基礎編)

ちなみに

31

• Mundieさんはクビになっていないのでご安心を。

Page 32: Hokkaido.cap#3 ケーススタディ(基礎編)

32

まとめと参考資料

Page 33: Hokkaido.cap#3 ケーススタディ(基礎編)

この演習のまとめ

• 実際にネットワーク上で起こるトラブルが、Wireshark からどのように見えるか確認しました。

• 実際のトラブルシューティングでは、膨大なパケットの中からポイントとなる部分を絞らなければなりません。慣れるまで何度も挑戦してみましょう。

33

Page 34: Hokkaido.cap#3 ケーススタディ(基礎編)

参考資料

• 実践パケット解析 - Wiresharkを使ったトラブルシューティング

- http://www.oreilly.co.jp/books/9784873113517

- ISBN978-4-87311-351-7

• Microsoft Windows Server 2003 TCP/IP 実装詳細- http://technet.microsoft.com/ja-jp/library/cc758746(WS.10).aspx

• Windows XP での TCP/IP と NBT の構成パラメータ

- http://support.microsoft.com/kb/314053/ja

34

写真提供 : ジャイアントパンダ写真集(フリー素材) http://giantpanda.jp