0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Wireshark学習メモ:攻撃兆候の見つけ方

Last updated at Posted at 2025-09-30

はじめに

Hack The Box Academy のIntermediate Network Traffic Analysis Overviewを受講し、改めて「Wiresharkで攻撃の兆候をどのように可視化できるか」を学びました。

業務での活用はもちろん、試験対策(特に SANS GX-IA などパケット解析が含まれる上位試験)を見据えて、 今回の学びを整理して記事化しました。

自分のスキルセットと学習コンテンツ

前提となる、私自身の現在のスキルレベルは以下の通りです。

  • Wiresharkは 基礎的な使い方ができる レベル
    (パケットのキャプチャ、基本的なディスプレイフィルタ、ストリーム追跡など)

  • SANS GCIA (GIAC Certified Intrusion Analyst) 取得済み
    → トラフィック解析の基礎は学習済みだが、細かいフィルタの使いこなしは課題あり

    Wiresharkの完全初心者向けではありませんので、使い方の基礎などは本記事では省きます

今回新しく学んだ例

例1: 特定アクセスポイントのDeauthenticationパケットの絞り込み

以下のようなフィルタで特定のアクセスポイントに対するDeauthenticationフレームだけを抽出できる。

(wlan.bssid == xx:xx:xx:xx:xx:xx) and (wlan.fc.type == 00) and (wlan.fc.type_subtype == 12)

  • wlan.bssid == xx:xx:xx:xx:xx:xx
    → 特定のBSSID(アクセスポイントのMACアドレス)に関連する通信だけを絞り込むことができる。
    → 無線LAN環境で複数のAPがある場合、対象のAPを限定できる。

  • wlan.fc.type == 00
    → IEEE 802.11フレームの 「管理フレーム (Management frame)」 に絞り込める。
    → 00以外では、01(制御フレーム)、02(データフレーム)などがある。

  • wlan.fc.type_subtype == 12
    → 管理フレームの中でも 「Deauthentication」 に絞り込むことができる。

例2: Deauthentication Attackの検知(Reason Code 7)

Wi-Fi環境では、攻撃者が Deauthenticationフレーム を偽装してクライアントを切断させる攻撃(DoS)が行われることがある。
その際に多くの攻撃ツールが利用するのがReason Code 7である。

以下のフィルタで、特定のAPに関連する「Reason Code 7のDeauthenticationフレーム」だけを抽出できる。

(wlan.bssid == xx:xx:xx:xx:xx:xx) and (wlan.fc.type == 00) and (wlan.fc.type_subtype == 12) and (wlan.fixed.reason_code == 7)

  • wlan.fc.type == 00

  • wlan.fc.type_subtype == 12
    →例1にて説明

  • wlan.fixed.reason_code == 7
    → 不正アクセスツールでよく利用されるコード「7」のみに限定。

例3: ICMP Tunnelingの検知

攻撃者がファイアウォールやアクセス制御を回避するために利用する手口のひとつが Tunnelingであり、本来の用途とは異なるプロトコルにデータを載せて外部へ持ち出すもので、SSHやHTTP/HTTPS、DNSなどが使われる。

その中でも ICMP Tunneling は、ping などで利用されるICMPのリクエスト/リプライに任意のデータを埋め込み、 通常の疎通確認に紛れて通信を行う手法である。

以下の方法でICMP Tunnelingが行われているか?を確認できる。

  • 通常のICMPと比べてデータ長が異常に大きい

    • 正常なICMP Echo Requestはデータ長が 48 bytes 程度。
    • 不正な場合は数万バイト(例: 38000 bytes)のように異常に大きいことがある。
  • ICMPのデータ領域に意味のある文字列が含まれている

    • 平文のユーザー名やパスワードが埋め込まれるケース。
    • Base64などでエンコードして隠すこともある。
  • Wiresharkでの基本フィルタ

    • icmp
      → ICMPリクエスト/リプライに限定して表示できる。
    • 異常に大きなデータ長のパケットをチェックし、Hexビューで内容を確認すると兆候を捉えやすい。

例4: SSL Renegotiation Attackの検知

SSL/TLSのハンドシェイクには、セッション中に再度ハンドシェイクを行う Renegotiation という仕組みがある。
攻撃者はこれを悪用して、サーバー資源を消費させたり、弱い暗号スイートを強制させるといった攻撃を行う。

以下のフィルタで、SSL/TLSのHandshakeメッセージだけを抽出できる。

ssl.record.content_type == 22

  • ssl.record.content_type == 22
    → Content Type 22 はハンドシェイクメッセージを意味する。
    → このフィルタでClient HelloやKey Exchangeなど、ハンドシェイク関連のやり取りに限定できる。

攻撃の兆候

  • 複数のClient Helloが短時間に繰り返されている
    → 正常な接続では1回のみのはずが、繰り返し観測されるのは攻撃の兆候。

  • ハンドシェイク完了後にClient Helloが出現する
    → パケットロスなどで似た挙動が出ることもあるが、Handshake後に出るのは不自然。

攻撃者の狙い

  • DoS(Denial of Service): サーバーに過剰なリソース消費を強制する。
  • 暗号スイートのダウングレード: 弱い暗号スイートを利用させる

まとめ

今回整理したのは、Hack The Box Academy の中級編コンテンツから学んだ一部のみです。
特に無線LAN周りはまだ知らないことが多く、フィルタの使い方ひとつとっても新しい発見がありました。

Wiresharkはパケットを見るツールとして知っていたつもりでしたが、攻撃の兆候を可視化するための強力な武器 になると改めて実感しました。

今後も新しいフィルタや観点を学び次第、追記していきたいと思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?