• JP
  • magnifying glass search icon to open search field
  • お問い合わせ
  • リソースセンター
  • サポートを受ける
  • 現在、攻撃を受けていますか?
Palo Alto Networks logo
  • 製品
  • ソリューション
  • サービス
  • 業種
  • パートナー
  • パロアルトネットワークスをお勧めする理由
  • 会社案内
  • その他
  • JP
    Language
  • お問い合わせ
  • リソースセンター
  • サポートを受ける
  • 現在、攻撃を受けていますか?
  • スタート ガイド

Wireshark によるパケット解析講座 3

ホストとユーザーと特定する

Brad Duncan 4 01, 2019 at 12:30 午後

本ブログは米国で2019年03月29日に公開されたUnit 42ブログ「Using Wireshark: Identifying Hosts and Users」の日本語翻訳です。

 

Tutorial Splash Image

ホストが感染した、または侵害されたとき、セキュリティ専門家は、疑わしいネットワークトラフィックのパケットキャプチャ(pcaps)を手早く確認して影響を受けるホストやユーザーを特定しなければなりません。

本チュートリアルでは、広く使用されているネットワークプロトコル分析ツールWiresharkを使用し、そのpcapデータを収集する方法のヒントを提供します。なお、本稿ではネットワークトラフィックの基本を理解していることが前提となります。またこちらのpcaps データを使いますのでダウンロードして圧縮ファイルを解凍しておいてください。解凍用のパスワードは「infected」です。このデータには、IPv4で次の4種類のデータを取得するトラフィックが含まれています。

  • DHCPトラフィックからのホスト情報
  • NetBIOSネームサービス(NBNS)トラフィックからのホスト情報
  • HTTPトラフィックからのデバイスモデルとオペレーティングシステム
  • KerberosトラフィックからのWindowsユーザーアカウント


DHCPトラフィックからのホスト情報

ネットワーク内でトラフィックを生成するホストには3つの識別子が必要です。 それはMacアドレス、 IPアドレス、そしてホスト名です。

ほとんどの場合、疑わしい活動に対する警告はIPアドレスに基づいています。ネットワークトラフィックの完全なパケットキャプチャにアクセスできる環境であれば、内部ネットワークのIPアドレスをもつホスト上でpcapを取得することで、関連付けられたMACアドレスとホスト名を確認できます。

では、こうしたホスト情報をWiresharkでどのように見つければよいのでしょうか。それには2種類のアクティビティをフィルタリングします。つまりDHCPかNBNSです。DHCPトラフィックは、ネットワークに接続されているほとんどすべての種類のコンピュータのホストを識別するのに役立ちます。NBNSトラフィックは、主にMicrosoft Windowsを実行しているコンピュータまたはMacOSを実行しているAppleホストによって生成されます。

まだダウンロード・解凍していないかたは、このチュートリアルの最初のpcapファイルhost-and-user-ID-pcap-01.pcapをここからダウンロードして開いてください。パスワードは「infected」です。このpcapでは、172.16.1[.]207という内部IPアドレスをもつホストについて調べていきます。まず、このファイルをWiresharkでを開き、図1のように表示フィルタに「bootp」(※1)を指定してフィルタリングしてください。これは、DHCPトラフィックを表示するフィルタ設定です。

※1:Wireshark 3.0以降のバージョンではこのフィルタに「DHCP」を指定してください。「bootp」は将来的に廃止予定です。

図1:WiresharkでのDHCPトラフィックのフィルタリング

[Info]列に「DHCP Request」と表示されているフレームをどれか1つ選択してください。図2を参考に、フレームの詳細部に移動し、「Bootstrap Protocol (Request)」の行をクリックして展開してください。つづいて、図3を参考に「Client Identifier」、「Host Name」の各行を順にクリックして展開してください。これで「Client Identifier」の詳細から172.16.1[.]207に割り当てられたMACアドレスが、「Host Name」の詳細からホスト名がそれぞれ確認できます。

図2:DHCP Request行の「Bootstrap Protocol」行を展開する

図3:DHCP Request内でMACアドレスとホスト名を見つける

このケースでは172.16.1[.]207のホスト名はRogers-iPadでMACアドレスは7c:6d:62:d2:e3:4fです。このMACアドレスはApple社に割り当てられたものです(訳注: WireSharkのPreferencesでMacアドレスの名前解決を有効に設定している場合、図3のようにMACアドレス先頭にベンダ名が表示されます。ここにベンダ名が表示されていない場合は、Wireshark の Preferences メニューの Name Resolution で Resolve MAC addresses のチェックボックスにチェックを入れて有効にします)。ホスト名からこのデバイスはおそらくiPadであるものと類推できますが、ホスト名だけでは確実とはいえません。

ただしホスト名とMACアドレスを使うことで、図4に示すように、EthernetフレームのMACアドレスとIPアドレスを172.16.1[.]207とを簡単に関連付けることができます。

図4:MACアドレスと任意のフレームのIPアドレスとの関連付け


NetBIOSネームサービス(NBNS)トラフィックからのホスト情報

DHCPリースが更新される頻度によっては、pcapにDHCPトラフィックが含まれていないこともあります。その場合でもNBNSトラフィックを使用することで、Microsoft Windowsを実行しているコンピュータやMacOSを実行しているAppleホストのホスト名を識別することはできます。

ここで、チュートリアルの2つ目のpcapファイル host-and-user-ID-pcap-02.pcapを開いてください。まだダウンロード、解凍をしていない場合はここにあります。解凍パスワードは「infected」です。このpcapは、10.2.4[.]101の内部IPアドレスを使用しているWindowsホストからのものです。Wiresharkでpcapを開き、表示フィルタに「nbns」を指定してください。これにより、NBNSトラフィックが確認できるようになります。最初のフレームを選択すると、図5に示すように、IPアドレスとMACアドレスおよびホスト名をすばやく関連付けることができます。

図5:NBNSトラフィックを使用したホスト名とIPおよびMACアドレスの関連付け

フレームの詳細部には、図6に示すように、IPアドレスに割り当てられたホスト名も表示されます。

図6:IPアドレスに割り当てられたホスト名を示すNBNSトラフィックのフレーム詳細


HTTPトラフィックからのデバイスモデルとオペレーティングシステム

HTTPトラフィックのヘッダにあるUser-agent文字列からオペレーティングシステムを確認できることがあります。HTTPトラフィックがAndroidデバイスからのものであれば、デバイスの製造元とモデルも判断できます。

ここで、チュートリアルの3つ目のpcaphost-and-user-ID-pcap-03.pcapを開いてください。まだダウンロード・解凍していないかたは、ここからダウンロードして開いてください。パスワードは「infected」です。このpcapは、192.168.1[.]97の内部IPアドレスを使用しているWindowsホストからのものです。Wiresharkでpcapを開き、表示フィルタに「http.request and !(ssdp)」を指定してください。表示されたフレームのうち、2つ目のフレームをクリックして選択してください。これはwww.ucla[.]eduへの最初のHTTPリクエストです。 その状態で、図7に示すように、右クリックして表示されたコンテキストメニューから [追跡]、[TCPストリーム]の順にクリックしてください(訳注: 読者のなかには、なぜHTTPストリームではなくTCPストリームを選ぶのか疑問に思われるかたがいらっしゃるかもしれません。このチュートリアルではHTTPリクエストのヘッダ行だけを目的としており、HTTPボディは確認しません。このため[追跡]で[TCPストリーム]を選択しても[HTTPストリーム]を選択しても得られる情報に違いがありません。HTTPボディも確認したい場合は、TCPストリームのかわりにHTTPストリームを選択するとよいでしょう)。

図7:3つ目のpcapファイルを開き、HTTPリクエストについてTCPストリームを追跡する

このTCPストリームには、図8に示すようにHTTPリクエストヘッダがあります。このUser-Agent行は、64ビット版 Microsoft Windows 7オペレーティングシステム上で動作するGoogle Chrome webブラウザのバージョン72.0.3626.81を表しています。

図8:Google Chromeを使用している64ビット版 Microsoft Windows 7オペレーティングシステムのUser-Agent行

図8のUser-Agent行には「(Windows NT 6.1; Win64; x 64)」という文字列があることに着目してください。

ここで「Windows NT 6.1」は、Windows 7を表しています。User-Agent行におけるWindows NTの文字列は、次に示すバージョンのMicrosoft Windowsと対応しています。

  • Windows NT 5.1: Windows XP
  • Windows NT 6.0: Windows Vista
  • Windows NT 6.1: Windows 7
  • Windows NT 6.2: Windows 8
  • Windows NT 6.3: Windows 8.1
  • Windows NT 10.0: Windows 10

WindowsホストからのHTTPベースのWeb閲覧トラフィックが含まれていればオペレーティングシステムとブラウザを特定できます。Androidデバイスでも同様のトラフィックがあればデバイスのブランド名やモデルを確認することができます。

では次に、チュートリアルの4つ目のpcap host-and-user-ID-pcap-04.pcapを開いてください。 まだダウンロード・解凍していないかたは、ここからダウンロードして開いてください。パスワードは「infected」です。このpcapは、172.16.4.119の内部IPアドレスを使用しているAndroidホストからのものです。Wiresharkでpcapを開き、表示フィルタにhttp.requestを指定してください。2つ目のフレームを選択します。これは、 www.google[.]comに/blank.htmlを要求するHTTPリクエストです(訳注: WireSharkのパケット一覧部にこのHost列が表示されていない場合は、2つ目のフレームを選択後、パケット詳細部で「Hyper Transfer Protocol」行を展開し、「Host: www.google[.]com\r\n」行を選択した後、右クリックし、表示されたコンテキストメニューから[列として適用]をクリックしてください)。次に、図11に示すように右クリックして表示されたコンテキストメニューから [追跡]、[TCPストリーム]の順にクリックしてください。図9に示すように、選択したフレームを右クリックしてコンテキストメニューを開き、[追跡]、[TCPストリーム] の順にクリックしてください。

図9:4つ目のpcapファイルを開き、HTTPリクエストについてTCPストリームを追跡する

図10:Google Chromeを使用しているAndroidホストのUser-Agent行

図10のUser-Agent行から、Android 7.1.2という2017年4月にリリースされた古いAndroidオペレーティングシステムであることが分かります。LM-X210APM はこのAndroidデバイスに割り当てられたモデルナンバーです。Google検索をしてみると、このモデルが LG Phoenix 4 Android スマートフォンであることが分かります。

これがiPhoneそのほかのApple社製モバイル機器からのHTTPトラフィックのUser-Agent行である場合、オペレーティングシステムやデバイスの種類が分かります。ただしモデルは分かりません。そのApple社製デバイスがiPhone、iPad、iPodのいずれであるかだけが判別できます。では次にiPhoneからのトラフィックを判別してみましょう。

このチュートリアルの5つ目のpcap host-and-user-ID-pcap-05.pcapを開いてください。まだダウンロード・解凍していないかたは、ここからダウンロードして開いてください。パスワードは「infected」です。このpcapは、10.0.0[.]114の内部IPアドレスを使用しているiPhoneホストからのものです。Wiresharkでpcapを開き、表示フィルタにhttp.requestを指定してください。次に、フレーム番号443のHTTPリクエストのフレームを選択してください。これはweb.mta[.]infoへのHTTPリクエストです(訳注: WireSharkのパケット一覧部にHost列が表示されていない場合は、フレーム番号443を選択した後、パケット詳細部で「Hyper Transfer Protocol」行を展開し、「Host: web.mta[.]info\r\n」行を選択した後、右クリックし、表示されたコンテキストメニューから[列として適用]をクリックしてください)。次に、図11に示すように右クリックして表示されたコンテキストメニューから [追跡]、[TCPストリーム]の順にクリックしてください。

図11:5つ目のpcapファイルを開き、HTTPリクエストについてTCPストリームを追跡する

図12でUser-Agent行は(iPhone; CPU iPhone OS 12_1_3 like Mac OS X)になっています。これで、このApple社製デバイスがiPhoneであり、iOS 12.1.3を実行していることが分かりました。

図12:Safariを使用しているiPhoneのUser-Agent行

HTTPトラフィックとUser-Agent文字列について最後に付け加えるなら「すべてのHTTPアクティビティがWeb閲覧トラフィックであるとは限らない」ということです。HTTPリクエストのなかには、ブラウザやオペレーティングシステムを明らかにしないものもあります。トラフィックを検索してホストを識別するためには、複数のHTTPリクエストを確認してから、目的のWebブラウザのトラフィックを見つける必要があるかもしれません。

なお、今日では多くのWebサイトがHTTPSを使用していることからHTTPによるホスト識別が困難な場合があります。HTTPヘッダやHTTPコンテンツはHTTPSトラフィックの場合暗号化されているため表示できません。ですが、運よく調査中にHTTPでWebを閲覧したトラフィックを見つけることができれば、この方法でホストに関する詳細情報を得ることができます。


KerberosトラフィックからのWindowsユーザーアカウント

Active Directory(AD)環境のWindowsホストの場合、Kerberosトラフィックからユーザーアカウント名を見つけることができます。

このチュートリアルの6つ目のpcap host-and-user-ID-pcap-06.pcapを開いてください。まだダウンロード・解凍していないかたは、ここからダウンロードして開いてください。パスワードは「infected」です。このpcapは、次のActive Directory環境にあるWindowsホストからのものです。

  • ドメイン: happycraft[.]org
  • ネットワークセグメント: 172.16.8.0/24 (172.16.8[.]0 – 172.16.8[.]255)
  • ドメインコントローラのIPアドレス: 172.16.8[.]8
  • ドメインコントローラのホスト名: Happycraft-DC
  • 同セグメントのゲートウェイ: 172.16.8[.]1
  • ブロードキャストアドレス: 172.16.8[.]255
  • Windowsクライアント: 172.16.8[.]201

Wiresharkでpcapを開き、表示フィルタに「kerberos.CNameString」を指定してください。次に、最初のフレームを選択します。フレームの詳細部に移動して、図13に示すとおりに行を展開します。「CNameString: johnson-pc$」という行を選択して右クリックし、表示されるコンテキストメニューで[列として適用]をクリックします。

図13:CNameString値を見つけ、列として適用する

これにより、パケット一覧部に「CNameString」という新しい列が作成されます。列を作成した後、列表示の最後のフレームまでスクロールダウンします。すると、アカウント名「theresa.johnson」が、172.16.8[.]8で実行されているドメインコントローラと172.16.8[.]201で実行されているWindowsクライアントのトラフィック内に見つかるはずです(図14参照)。

図14:Windowsユーザーアカウント名を探す

ホスト名のCNameString値は常に末尾が$(ドル記号)になっていますが、ユーザーアカウント名にはこのドル記号はついていません。ユーザーアカウント名をフィルタリングするには、次のWireshark式を使用して、ドル記号付きのCNameStringの結果を除外します。

kerberos.CNameString and !(kerberos.CNameString contains $)

まとめ

ネットワークトラフィックからホストとユーザーを正しく識別することは、ネットワーク内の悪意のあるアクティビティを報告するときに不可欠です。本チュートリアルの識別方法を使えば、Wiresharkを活用して影響を受けるホストやユーザーを特定できるようになります。

Wiresharkの使用方法については、以前のチュートリアルも参考にしてください。

  • Wireshark によるパケット解析講座 1 ー Wiresharkの表示列をカスタマイズする
  • Wireshark によるパケット解析講座 2 ー 脅威インテリジェンス調査に役立つフィルタリング設定

 

ニュース

Wireshark によるパケット解析講座 1

Wireshark は無料で利用できるプロトコル アナライザです。 Wireshark を使うとネットワーク トラフィックをキャプチャしたり、キャプチャしたパケットを表示させることができます。そこでパロアルトネットワークスの脅威インテリジェンス調査チーム Unit42 に所属するアナリストが、Wireshark を使ってマルウェア検体が生成したトラフィックをレビューするさいに利用している便利な使いかたをご紹介していきます。
January 17, 2019

ニュース

DNSトンネリング: 攻撃者はDNSをどう悪用するのか

悪意のある攻撃者は、ドメインネームサービス(DNS)をコマンド&コントロール(C2)用通信チャネルとして悪用してきました。またこのプロトコルはこのほかに、データを漏出させる目的でも悪用されてきました。DNS の悪用はC2に「ハートビート」接続のために通信するという用途からさらに広がっており、攻撃者はここ数年、悪意のあるデータやペイロードをDNS経由で被害者のシステムに侵入させる用途にもDNSを使っています。本稿では、DNSを悪用したデータ侵入・漏出の種類、方法、使用方法を紹介し、その防御メカニズムへの指針を示します。
March 18, 2019

データシート

PA-400シリーズ

パロアルトネットワークスの機械学習を活用したNGFW「PA-400 Series (PA-460、PA-450、PA-440)」なら、分散した大企業の支社、小売店、中規模企業にも次世代ファイアウォール機能を導入できます。
August 3, 2022

ニュース

Wireshark によるパケット解析講座 2

前回は Wiresharkの列表示のカスタマイズ方法について見ていきました。本稿では脅威インテリジェンスの調査上便利なフィルタリングの設定方法について説明します。
January 20, 2019

ニュース

Wireshark によるパケット解析講座 4

セキュリティ専門家は、不審なアクティビティのパケット キャプチャ(pcap)をレビューする際、より詳しく調べるために、オブジェクトをpcapからエクスポートしなければならない場合があります。
July 12, 2019

ニュース

Cortex XDRの紹介

パロアルトネットワークスは、セキュリティの最先端を行く3つのイノベーションを発表しました。これらのイノベーションによって、セキュリティ業界の変革に挑もうとしています。まず1つ目は、ディテクション(検知)・調査・レスポンスSaaSアプリケーションCortex XDRです。これは、高度な攻撃をディテクションして阻止するだけでなく、将来のサイバー攻撃に備えて防御機能を絶えず進化させ、セキュリティ運用をサポートするSaaS型のアプリケーションです。
April 14, 2019

最新ニュース、イベント情報、脅威アラートを配信

このフォームを送信すると、お客様は弊社の利用規約とプライバシー ポリシーに同意したものとみなされます。

black youtube icon black twitter icon black facebook icon black linkedin icon
  • USA (ENGLISH)
  • AUSTRALIA (ENGLISH)
  • BRAZIL (PORTUGUÉS)
  • CANADA (ENGLISH)
  • CHINA (简体中文)
  • FRANCE (FRANÇAIS)
  • GERMANY (DEUTSCH)
  • INDIA (ENGLISH)
  • ITALY (ITALIANO)
  • JAPAN (日本語)
  • KOREA (한국어)
  • LATIN AMERICA (ESPAÑOL)
  • MEXICO (ESPAÑOL)
  • SINGAPORE (ENGLISH)
  • SPAIN (ESPAÑOL)
  • TAIWAN (繁體中文)
  • UK (ENGLISH)

人気のあるリソース

  • 会社概要
  • イベント センター
  • イベント
  • リソースセンター
  • プレスリリース
  • Unit42 ブログ
  • 投資家の皆様へ
  • ブログ
  • Japan Live Community
  • Tech Docs
  • キャリア
  • お問い合わせ
  • サイトマップ

法定通知

  • プライバシー
  • 個人情報保護基本方針
  • 利用規約
  • トラスト センター
  • ドキュメント
  • 一般事業主行動計画

アカウント

  • 購読の管理
  • パートナーログイン
  • パートナーになる
脆弱性の報告

Copyright © 2023 Palo Alto Networks. All rights reserved