サイバーセキュリティにおける Wireshark を使用した疑わしいネットワーク活動の特定方法

WiresharkWiresharkAdvanced
オンラインで実践に進む

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

サイバーセキュリティの分野では、疑わしいネットワーク活動を理解し、特定することが、安全で回復力のあるネットワークインフラストラクチャを維持するために不可欠です。このチュートリアルでは、強力なネットワークプロトコルアナライザーである Wireshark を使用して、ネットワーク環境における潜在的な脅威を検出し、分析するプロセスを説明します。

これは Guided Lab です。学習と実践を支援するためのステップバイステップの指示を提供します。各ステップを完了し、実践的な経験を積むために、指示に注意深く従ってください。過去のデータによると、この 上級 レベルの実験の完了率は 15%です。学習者から 100% の好評価を得ています。

Wireshark のインストールと設定

Wireshark とは?

Wireshark は、強力なオープンソースのネットワークプロトコルアナライザーであり、ネットワーク上をリアルタイムで送受信されるデータをキャプチャし、検査することができます。セキュリティ専門家は、以下のような目的で Wireshark を使用します。

  • ネットワークトラフィックの監視
  • ネットワーク問題のトラブルシューティング
  • 疑わしい活動の検出
  • プロトコルの詳細分析
  • 潜在的なセキュリティ脅威の特定

Wireshark のインストール

まず、Ubuntu システムに Wireshark をインストールすることから始めましょう。ターミナルを開き、次のコマンドを実行します。

sudo apt update
sudo apt install -y wireshark

インストール中に、非スーパーユーザーがパケットをキャプチャできるようにするかどうかを尋ねられます。この実験環境では、利便性のために「Yes」を選択してください。

インストールには数分かかる場合があります。完了すると、Wireshark が正常にインストールされたことを示す出力が表示されます。

ユーザー権限の設定

Wireshark を root として実行せずにパケットをキャプチャするには、ユーザーを wireshark グループに追加する必要があります。

sudo usermod -a -G wireshark $USER

変更を有効にするには、ログアウトして再度ログインする必要がありますが、この実験では、次のコマンドで変更をすぐに適用できます。

newgrp wireshark

インストールの確認

Wireshark が正しくインストールされたことを確認しましょう。

wireshark --version

次のような出力が表示されるはずです。

Wireshark 3.6.2 (Git v3.6.2 packaged as 3.6.2-2)

Copyright 1998-2022 Gerald Combs <[email protected]> and contributors.
License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (64-bit) with Qt 5.15.3, with libpcap, with POSIX capabilities
(Linux), with libnl 3, with Lua 5.2.4, with GLib 2.72.1, with zlib 1.2.11,
with Snappy, with libpcap 1.10.1, with GNUTLS 3.7.3, with Gcrypt 1.9.4.

Wireshark の起動

次に、グラフィカルインターフェースで Wireshark を起動しましょう。

wireshark &

Wireshark アプリケーションが新しいウィンドウで開きます。パケットキャプチャに使用できるネットワークインターフェースのリストが表示されたメインインターフェースが表示されます。

Wireshark Main Interface

Wireshark のユーザーインターフェースに慣れてください。

  1. 上部のセクションには、利用可能なネットワークインターフェースが表示されます。
  2. 中央のセクション(現在は空)には、キャプチャされたパケットが表示されます。
  3. 上部のフィルターバーを使用すると、表示されるパケットをフィルタリングできます。
  4. さまざまなメニューとツールバーは、追加の機能を提供します。

次のステップでは、Wireshark を使用してネットワークトラフィックをキャプチャする方法を学びます。

Wireshark でのネットワークトラフィックのキャプチャ

ネットワークインターフェースの理解

ネットワークトラフィックをキャプチャする前に、どのネットワークインターフェースを監視する必要があるかを理解する必要があります。一般的なシステムでは、いくつかのインターフェースがある場合があります。

  • eth0 または ens33: イーサネット(有線)接続
  • wlan0: Wi-Fi 接続
  • lo: ループバックインターフェース(ローカルトラフィック)

システムで利用可能なネットワークインターフェースを確認しましょう。

ip a

このコマンドは、すべてのネットワークインターフェースを表示します。 eth0ens33、またはその他のネットワークインターフェースを探します(正確な名前は、システム構成によって異なります)。

テストネットワークトラフィックの生成

分析するネットワークトラフィックを確保するために、いくつかの Web リクエストを実行して、基本的な HTTP トラフィックを生成しましょう。

## キャプチャを保存するためのディレクトリを作成します
mkdir -p ~/wireshark_lab

## いくつかの HTTP トラフィックを生成します
curl -s http://example.com > /dev/null
curl -s http://google.com > /dev/null

Wireshark でのトラフィックのキャプチャ

次に、Wireshark を使用してネットワークトラフィックをキャプチャしましょう。

  1. Wireshark がまだ実行されていない場合は、起動します。
wireshark &
  1. Wireshark のメインウィンドウで、プライマリネットワークインターフェース(おそらく eth0 または ens33 - 前に ip a コマンドで特定したインターフェースを使用)を見つけます。

  2. ネットワークインターフェースをダブルクリックして、パケットのキャプチャを開始します。

  3. キャプチャされると、メインウィンドウにパケットが表示され始めます。

    • 上部のペインには、パケットのリストが表示されます。
    • 中央のペインには、選択したパケットの詳細が表示されます。
    • 下部のペインには、選択したパケットの生のデータが 16 進数と ASCII で表示されます。
  4. Wireshark がキャプチャしている間に、さらにネットワークトラフィックを生成しましょう。

## 新しいターミナルウィンドウを開いて実行します。
ping -c 5 google.com
  1. Wireshark に戻ると、ICMP ping パケットがキャプチャに表示されるはずです。

  2. キャプチャを停止するには、ツールバーの赤い四角いボタンをクリックするか、Capture > Stop に移動します。

キャプチャしたトラフィックの保存

いくつかのネットワークトラフィックをキャプチャしたので、さらに分析するために保存しましょう。

  1. Wireshark で、File > Save に移動するか、Ctrl+S を押します。

  2. 先ほど作成した ~/wireshark_lab ディレクトリに移動します。

  3. ファイルに basic_capture.pcapng という名前を付け、Save をクリックします。

## キャプチャファイルが保存されたことを確認します
ls -la ~/wireshark_lab/

出力に basic_capture.pcapng ファイルが表示されるはずです。

保存されたキャプチャを開く

保存したキャプチャファイルを開く練習をしましょう。

  1. Wireshark で、File > Open に移動するか、Ctrl+O を押します。

  2. ~/wireshark_lab/basic_capture.pcapng に移動して開きます。

キャプチャされたパケットが Wireshark に表示され、分析の準備ができました。

次のステップでは、このキャプチャされたトラフィックをフィルタリングして分析し、特定の種類のネットワーク活動を特定する方法を学びます。

基本フィルターを使用したネットワークトラフィックの分析

Wireshark 表示フィルターの理解

Wireshark の表示フィルターを使用すると、特定の基準に一致するパケットのみを表示できます。これは、関連情報を検索するために、大きなパケットキャプチャを分析する際に不可欠です。

Wireshark 表示フィルターの基本的な構文は次のとおりです。

protocol.field == value

例:

  • ip.addr == 192.168.1.1 - この IP アドレスを持つパケットを表示します
  • tcp.port == 80 - TCP ポート 80 を持つパケットを表示します
  • http - すべての HTTP パケットを表示します

基本的な表示フィルターの適用

キャプチャしたトラフィックにいくつかの基本的なフィルターを適用する練習をしましょう。

  1. 以前に保存したキャプチャファイルで Wireshark が開いていることを確認します。開いていない場合は、開きます。
wireshark ~/wireshark_lab/basic_capture.pcapng &
  1. パケットリストの上部にあるフィルターバーを見つけます(空の場合は「Apply a display filter...」と表示されます)。

  2. DNS トラフィックをフィルタリングしましょう。フィルターバーに次のように入力します。

dns
  1. Enter キーを押すか、青い矢印ボタンをクリックして、フィルターを適用します。

これで、DNS パケットのみが表示されるはずです。これらは、ドメイン名解決のリクエストとレスポンスです。

  1. 次に、HTTP トラフィックをフィルタリングしてみましょう。
http

フィルターを適用し、HTTP パケットを観察します。

  1. 特定の IP アドレスをフィルタリングしましょう。まず、ソースまたは宛先列を見て、キャプチャ内の IP アドレスを特定します。次に、次のようなフィルターを適用します。
ip.addr == [replace_with_an_ip_from_your_capture]

例:ip.addr == 93.184.216.34(example.com へのトラフィックが表示される場合)

フィルターの組み合わせ

論理演算子を使用してフィルターを組み合わせることができます。

  • && または and は AND 演算用
  • || または or は OR 演算用
  • ! または not は NOT 演算用

組み合わせたフィルターを試してみましょう。

http && ip.addr == [replace_with_an_ip_from_your_capture]

これにより、指定された IP アドレスとの間の HTTP トラフィックのみが表示されます。

TCP トラフィックのシンプルなフィルターの作成

TCP トラフィックのフィルターを作成して保存しましょう。

  1. フィルターバーに次のように入力します。
tcp
  1. フィルターを適用します。TCP パケットのみが表示されるはずです。

  2. このフィルターを将来使用するために保存しましょう。フィルターバーの右側にある「+」ボタンをクリックします。

  3. 表示されるダイアログで、次のように入力します。

    • フィルター名:TCP Traffic
    • フィルター文字列:tcp
  4. 「Save」をクリックして、このフィルターを保存します。

プロトコル階層の分析

Wireshark は、キャプチャ内のプロトコルの便利な可視化を提供します。

  1. Statistics > Protocol Hierarchy に移動します。

  2. これにより、プロトコルがパーセンテージとパケット数で内訳表示されます。

  3. レビューが完了したら、このウィンドウを閉じます。

フィルタリングされた結果の保存

フィルタリングされたキャプチャのビューを保存しましょう。

  1. 選択したフィルター(例:http または dns)を適用します。

  2. File > Export Specified Packets に移動します。

  3. 「Packet Range」セクションで「Displayed」が選択されていることを確認します。

  4. ~/wireshark_lab/ に移動し、filtered_capture.pcapng として保存します。

  5. ファイルが保存されたことを確認します。

ls -la ~/wireshark_lab/

元のキャプチャファイルとフィルタリングされたキャプチャファイルの両方が表示されるはずです。

次のステップでは、これらのフィルタリング技術を使用して、疑わしいネットワーク活動を特定します。

疑わしいネットワーク活動の特定

疑わしいネットワーク活動の一般的な指標

セキュリティ目的でネットワークトラフィックを分析する場合、特定のパターンと動作が疑わしいまたは悪意のある活動を示している可能性があります。

  1. 異常なポートの使用: 一般的でないポートまたは既知のマルウェアポートでのトラフィック
  2. 過剰な DNS クエリ: DNS トンネリングまたはデータ流出を示す可能性があります
  3. 暗号化されていない資格情報: クリアテキストで送信されたパスワード
  4. ポートスキャン: 異なるポートへの複数の接続試行
  5. 異常なデータパターン: Base64 エンコードされたペイロードまたは予期しない暗号化されたトラフィック
  6. 既知の悪意のある IP への接続試行: ブラックリストに登録されたアドレスとの間のトラフィック

疑わしい活動のシミュレーション

学習目的のために、Wireshark で検出できる疑わしいネットワーク活動をいくつかシミュレートしてみましょう。

## セキュリティ分析用のディレクトリを作成します
mkdir -p ~/wireshark_lab/security_analysis

## ポートスキャンをシミュレートします(デモンストレーションのためにいくつかのポートに限定)
nmap -p 80,443,22,21,25 scanme.nmap.org > ~/wireshark_lab/security_analysis/scan_results.txt 2>&1

注:上記の nmap コマンドは、nmap のテスト用に特別に設定された scanme.nmap.org サーバーの一般的なポートをスキャンします。

疑わしいトラフィックのキャプチャと分析

  1. メインネットワークインターフェースで新しい Wireshark キャプチャを開始します。
wireshark &
  1. Wireshark で、プライマリネットワークインターフェースをダブルクリックして、キャプチャを開始します。

  2. 別のターミナルで、シミュレーションコマンドを実行します。

## キャプチャ中に別のポートスキャンをシミュレートします
nmap -p 80,443,22,21,25 scanme.nmap.org > /dev/null 2>&1
  1. コマンドが完了したら、赤い四角いボタンをクリックして Wireshark キャプチャを停止します。

  2. このキャプチャを ~/wireshark_lab/security_analysis/ ディレクトリに suspicious_traffic.pcapng として保存します。

ポートスキャンの検出

ポートスキャンは、攻撃者がシステムで実行されているサービスを発見するために使用する一般的な偵察手法です。キャプチャ内のポートスキャン活動を特定しましょう。

  1. 異なるポートへの接続試行を表示するフィルターを適用します。
tcp.flags.syn == 1 && tcp.flags.ack == 0

このフィルターは、接続を開始するために使用される TCP SYN パケットを表示します。同じホスト上の異なるポートへのこれらのパケットが多数あることは、ポートスキャンを示しています。

  1. nmap スキャンに関連するトラフィックに焦点を当てるには、ターゲットドメインのフィルターを追加できます。
tcp.flags.syn == 1 && tcp.flags.ack == 0 && ip.addr contains scanme.nmap.org

セキュリティ分析レポートの作成

簡単なセキュリティ分析レポートで調査結果を文書化しましょう。

## レポートファイルを作成します
nano ~/wireshark_lab/security_analysis/security_report.txt

ファイルに次の内容を追加します。

セキュリティ分析レポート
=======================

日付: [現在の日付]

調査結果:
1. ポートスキャン活動が検出されました
   - ソース: [あなたの IP アドレス]
   - ターゲット: scanme.nmap.org
   - ターゲットポート: 80、443、22、21、25
   - 証拠: 複数のポートへの TCP SYN パケット

2. 分析方法:
   - Wireshark を使用してネットワークトラフィックをキャプチャしました
   - フィルターを適用しました: tcp.flags.syn == 1 && tcp.flags.ack == 0
   - 体系的な接続試行のパターンを特定しました

3. 推奨されるアクション:
   - 許可されていないスキャン活動を監視する
   - ファイアウォールルールを実装して、発信スキャンを制限する
   - ネットワーク侵入検知システムの実装を検討する

Ctrl+OEnter の順に押してファイルを保存し、Ctrl+X で nano を終了します。

疑わしい活動のカスタムフィルターの作成

潜在的なセキュリティ問題を検出するためのカスタムフィルターを作成しましょう。

  1. Wireshark で、次のフィルターを入力します。
(tcp.flags.syn == 1 && tcp.flags.ack == 0) || (dns.qry.type == 1 && dns.qry.name contains "suspicious") || (http.request && ip.addr == 192.168.0.1)

この複雑なフィルターは、以下を検索します。

  • ポートスキャン活動(ACK なしの SYN パケット)
  • 「suspicious」を含むドメインの DNS クエリ
  • IP 192.168.0.1 への/からの HTTP リクエスト
  1. このフィルターを保存します。

    • フィルターバーの右端にある「+」ボタンをクリックします
    • 名前:Security Monitoring
    • フィルター文字列:(上記のフィルターを貼り付けます)
    • 「Save」をクリックします
  2. 今後のために、このフィルター設定をエクスポートします。

## まず、Wireshark プロファイルディレクトリを開いて、保存されたフィルターを見つけます
ls -la ~/.config/wireshark/

セキュリティ分析の要約

セキュリティ分析の成果物を検証しましょう。

## 作成したすべてのファイルを一覧表示します
ls -la ~/wireshark_lab/security_analysis/

以下が表示されるはずです。

  • scan_results.txt - nmap スキャンの出力
  • suspicious_traffic.pcapng - 疑わしい活動の Wireshark キャプチャ
  • security_report.txt - 分析レポート

これらのファイルは、基本的なサイバーセキュリティ分析ワークフローを表しています。

  1. 疑わしいトラフィックをキャプチャする
  2. 適切なフィルターを使用してトラフィックを分析する
  3. 調査結果と推奨事項を文書化する

実際のセキュリティ環境では、検出技術を継続的に改善し、より洗練されたフィルターを作成し、Wireshark 分析を他のセキュリティツールと統合して、包括的な脅威検出と対応を行います。

まとめ

この実験では、サイバーセキュリティで広く使用されている強力なネットワークプロトコルアナライザーである Wireshark の実践的な経験を積みました。以下の方法を学びました。

  1. Ubuntu に Wireshark をインストールして設定する
  2. さまざまなインターフェースからネットワークトラフィックをキャプチャする
  3. 特定の種類のネットワークトラフィックを分析するためにフィルターを適用する
  4. ポートスキャンなどの潜在的な疑わしい活動を特定する
  5. セキュリティ分析レポートで調査結果を文書化する

これらのスキルは、サイバーセキュリティ目的のネットワークトラフィック分析の基礎を形成します。Wireshark を効果的に使用する方法を理解することにより、ネットワークトラフィックを監視し、異常を検出し、重大な損害が発生する前に潜在的なセキュリティ脅威を特定できます。

サイバーセキュリティの旅を続ける中で、より高度なフィルタリング技術を学び、カスタム検出ルールを開発し、Wireshark を他のセキュリティツールと統合して、包括的なネットワーク監視ソリューションを作成することにより、これらの基本を基盤として構築できます。