Wireshark によるパケット解析講座 2: 脅威インテリジェンス調査に役立つフィルタリング設定 (2023-09-29 日更新)

A pictorial representation of changing column display in Wireshark. Binary is displayed on a computer monitor along with graphs and charts. The image is blue and white.

This post is also available in: English (英語)

概要

セキュリティ専門家はマルウェアが生成したネットワーク トラフィックをキャプチャーしたパケット (pcap) を確認するため、よく Wireshark と呼ばれるツールを使います。この種のアクティビティを効率よく確認するさいは、インストールした Wireshark をカスタマイズすることをお勧めします。

前回のチュートリアルでは Wireshark のパケット一覧部の列の表示をカスタマイズしました。本チュートリアルでは、感染 Windows ホストからの悪意のあるネットワーク トラフィックの pcap を確認するのに役立つ表示フィルター式を紹介します。

本稿は Wireshark のチュートリアル シリーズの連載第2回です。本シリーズでは、悪意のあるネットワーク トラフィックの調査に役立つカスタマイズ オプションを紹介します。本シリーズは 2019 年 1 月の初公開以来 2023 年も更新を続けてきました。

本チュートリアルの pcap には Windows ベースのマルウェアが生成したトラフィックを含みます。パロアルトネットワークスのお客様は、WildFireAdvanced Threat Prevention などのクラウド配信型セキュリティサービスを有効にした次世代ファイアウォール (NGFW) Cortex XDR によりこれらの脅威からの保護を受けています。

関連する Unit 42 のトピック pcap, Wireshark, Wireshark Tutorial

目次

要件および補足資料
設定プロファイルを確認する
Wireshark の表示フィルター
Web トラフィックのフィルタリング
フィルター ボタンの作成
Web 以外のトラフィックのフィルタリング
FTP トラフィックのフィルタリング
電子メールトラフィック (Spambot) のフィルタリング
結論

要件および補足資料

本チュートリアルにとりかかる前に、前回の Wireshark チュートリアルの内容を確認しておいてください。また、Wireshark の最新バージョン (最低でもバージョン 3.6.2 かそれ以降) を準備しておいてください。本チュートリアルでは、Wireshark バージョン 4.0.7 を使い、前回のチュートリアルでカスタマイズした列表示を使います。繰り返しになりますが、お使いの環境で利用可能な Wireshark の最新バージョンを使うことをお勧めします。

本稿はネットワーク トラフィックに関する基礎的な知識をお持ちの方を読者として想定しています。たとえば TCP 接続のさいに行われる 3-way ハンドシェイクなどは知っていることが前提となっています。本チュートリアルの pcap には Windows 環境での感染から取得した悪意のあるコンテンツが含まれていることが多いので、pcap の確認には BSD 系や macOS 環境など Windows 以外の環境の使用をお勧めします。

本チュートリアルで使う 5 つの pcap ファイルは、こちらの GitHub リポジトリーにホストしたパスワード付き ZIP アーカイブに格納してあります。ここから Wireshark-tutorial-filter-expressions-5-pcaps.zip という名前の ZIP ファイルをダウンロードしてください。ZIP ファイル展開用のパスワードは「infected」です (図 1)。

画像 1 は、Palo Alto Networks Unit 42 Wireshark チュートリアル GitHub のスクリーンショットです。黒い矢印は、ページ上のダウンロード ボタンを押すことを示しています。2 番目の黒い矢印は、ダウンロードしたフォルダー内の zip ファイルを選択した後「Password required (パスワードが必要)」であることを示しているポップアップです。ここではパスワードが入力されています。最後の黒い矢印は、ZIP ファイルの内容を指しています。
図1. チュートリアル用の pcap ファイルを取得

ZIP を展開すると、本チュートリアル用の次の 5 つの pcap ファイルを取得できます。

  • Wireshark-tutorial-filter-expressions-1-of-5.pcap
  • Wireshark-tutorial-filter-expressions-2-of-5.pcap
  • Wireshark-tutorial-filter-expressions-3-of-5.pcap
  • Wireshark-tutorial-filter-expressions-4-of-5.pcap
  • Wireshark-tutorial-filter-expressions-5-of-5.pcap

はじめる前に、デフォルトの設定プロファイルではなく、前回作成した個人用 Wireshark 設定プロファイルを使用していることを確認しておきましょう。

設定プロファイルを確認する

このチュートリアルでは、Wireshark のフィルター式をフィルター ボタンとして保存します。前回のチュートリアルの列の変更のように、フィルター ボタンも現在使用中の Wireshark 設定プロファイルに保存されます。前回のチュートリアルでは、個人用の設定プロファイル名を「Customized (カスタマイズ済み)」としていました。

個人用の設定プロファイルを使っていることを確認するには、一番下に表示されているステータス バーの右端を確認してください (図 2)。ここに現在の設定プロファイル名が表示されています。このほか、[Edit (編集)] メニューの [Configuration Profiles (設定プロファイル)] を選択して確認することもできます。両方のやりかたを以下の図 2 に示しました。前回のチュートリアルでカスタマイズしたプロファイル名が表示されていることを確認してください。

画像 2 は Wireshark のスクリーンショットです。[Edit (編集)]メニューから [Configuration Profiles (設定プロファイル)] を選択しています。スクリーンショットには、設定プロファイルのポップアップ ウィンドウが表示されています。赤い矢印は、カスタマイズされたプロファイルが選択されている状態を示しています。右下の赤い矢印はステータスバーを指しており、現在使っている設定プロファイルがカスタマイズされたものであることを示しています。
図2. Wireshark で現在の設定プロファイルを確認
個人用の設定プロファイルが使われていることが確認できたら、Wireshark の表示フィルタについて見ていきましょう。

Wireshark の表示フィルター

デフォルト設定の Wireshark の場合、[表示フィルタ] ツールバーはパケット一覧部のすぐ上に表示されています。ここに pcap の Ethernet フレームや IP パケット、TCP セグメントの見えかたを絞り込む (フィルター) する式を入力します。[表示フィルタ] ツールバーに式を入力すると、Wireshark は入力された式にもとづいて候補のリストを表示します (図 3)。

画像 3 は、フィルターの候補を表示した Wireshark のスクリーンショットです。これらの候補は [表示フィルタ] ツールバーに入力した内容にもとづいて提案されます。
図3. Wireshark の [表示フィルタ] ツールバーは入力内容にもとづいて候補を表示する
[表示フィルタ] ツールバーが赤で表示されているかぎり、入力されている式は受け入れられません。図 3 の [表示フィルタ] ツールバーが (式の入力が途中であることから) 赤で表示されていることに注目してください。

Wireshark で Wireshark-tutorial-filter-expressions-1-of-5.pcap という名前の最初の pcap を開いてください。「http.request」と [表示フィルタ] ツールバーに入力し、Enter キーを押します。 [表示フィルタ] ツールバーが緑色で表示された場合、その式は受け入れられたことになり、図 4 に示すように正しく動作するはずです。

画像 4 は Wireshark のスクリーンショットです。表示されているフィルター式は「http.request」です。
図4. 表示フィルター式の内容が正しいとWireshark 判断し、意図したとおりに機能したところ

[表示フィルタ] ツールバーが黄色になっている場合、その式は受け入れられますが、意図したとおりに動作しない可能性があることを意味します。古いバージョンの Wireshark だと、黄色の [表示フィルタ] ツールバーが表示される機会が多くなります。たとえば、図 5 は Wireshark のバージョン 3.6.2 を使ってフィルター式「dns && ip.addr || http.request」を表示したところです。この式だと [表示フィルタ] ツールバーは黄色で表示され、ステータス バーの下部に推奨される解決策が表示されます。

画像 5 は Wireshark のスクリーンショットです。赤い四角形と赤い矢印は、フィルター式が適切でないことを示しています。ここでは「||」内の「&&」をカッコで囲むことを提案しています。フィルター式は緑色ではなく黄色で表示されています。
図5. Wireshark バージョン 3.6.2 で最初の pcap に適切でないフィルター式を適用したところ

図 5 を確認すると、パケット一覧部に HTTP リクエストの行が 1 行も表示されていません。ところが、バージョン 4.0.7 の Wireshark で同じ pcap を開き、同じフィルター式を指定した場合、式は緑色で表示され、図 6 に示すように HTTP リクエストの行を表示します。

画像 6 は Wireshark のスクリーンショットです。フィルター式が緑色で表示されています。フィルター式を修正する提案は表示されていません。
図6. 同じフィルター式が Wireshark バージョン 4.0.7 では緑色で表示される

これは Wireshark のバージョン 3.x と 4.x の違いの 1 つを示しています。こういうこともあるので、繰り返しにはなりますが、お使いのシステムで利用可能な Wireshark の最新バージョンを使うようにしてください。

Wireshark の表示フィルターではブール式を使い、値を指定して連鎖させることができます。以下の表 1 は、Wireshark のフィルター式で使われる一般的なブール演算子のリストです。

論理演算の意味 演算子 演算子の別の書きかた
Equals == eq
Not ! not
And && and
Or || or

表1. Wireshark の表示フィルター式で使われるブール演算子とその機能

Wireshark の表示フィルター式の適当な例を以下にあげます。

  • ip.addr eq 10.8.15[.]1 and dns.qry.name.len > 36
  • http.request && ip.addr == 10.8.15[.]101
  • http.request || http.response
  • dns.qry.name contains microsoft or icmp

Web トラフィックのフィルタリング

前回の Wireshark チュートリアルでは、Web トラフィックに次のフィルターを使いました。

http.request or tls.handshake.type eq 1

http.request」という式からは HTTP リクエスト内の URL が得られます。そして「tls.handshake.type eq 1」からは HTTPS または SSL/TLS のトラフィックで使われているドメイン名を得られます。

Windows ホストが生成する Web トラフィックの場合、このフィルタリング結果に 1900/udp 上の HTTP リクエストが含まれています。この HTTP トラフィックは Simple Service Discovery Protocol (SSDP) のものです。SSDP はプラグ & プレイ デバイスの検出に使われるもので通常の Web トラフィックには関連していません。そこで、フィルター式を次のように変更すれば、結果から SSDP トラフィックを除外できます。

(http.request or tls.handshake.type eq 1) and !(ssdp)

上記のフィルター式のカッコは Wireshark バージョン 4.x であれば不要ですが、古いバージョンの Wireshark とフィルター式の互換性を確保するためにカッコをつけておくことをお勧めします。最初の pcap の Wireshark-tutorial-filter-expressions-1-of-5.pcap にこのフィルター式を指定してください。結果は図 7 のようになります。

画像 7 は Wireshark がトラフィックの調査に使う基本 Web フィルターのスクリーンショットです。
図7. 最初の pcap に基本的な Web フィルターを指定した結果

図 7 に示すトラフィックを確認すると、Loki Bot マルウェア に関連する複数行の平文 HTTP POST リクエストが表示されます。その宛先 URL は hxxp://194.55.224[.]9/liuz/five/fre.php で、これは 2023 年 8 月に Threatfox に報告されたものです。

このトラフィックを調べるには、194.55.224[.]9 宛のトラフィックのいずれかの行を左クリックしてフレームを選択してから、右クリックしてコンテキスト メニューを表示します。そしてコンテキスト メニューから [Follow (追跡)] を選んでから [TCP Stream (TCP ストリーム)] ないし [HTTP Stream (HTTP ストリーム)] を選びます (図 8)。

画像 8 は、TCP ストリームを追跡する方法を示す Wireshark のスクリーンショットです。黒い矢印は、トラフィック内の行をクリックすることを示します。ここではコンテキスト メニューから [Follow (追跡)] が選択され、サブメニューから [TCP Stream (TCP ストリーム)] が選ばれています。
図8. Wireshark で TCP ストリームを追跡
これにより新しいウィンドウが表示され、平文 HTTP トラフィックのコンテンツを ASCII 文字で表した内容を確認できるようになります。Loki Bot のコマンド & コントロール (C2) トラフィックについて理解を深めるには、ご自身で内容を確認してみてください。

Wireshark で 2 番目の pcap Wireshark-tutorial-filter-expressions-2-of-5.pcap を開きます。これは標準的な IcedID (Bokbot) の亜種の感染から生じたトラフィックです。これには vrondafarih[.]com への HTTP トラフィックと、magiketchinn[.]commagizanqomo[.]com への HTTPS トラフィックが含まれています。これらは 3 つとも 2023 年 7 月に IcedID に関連するドメインであることが確認されています。

図 9 は、2 つ目の pcap に Wireshark の基本的な Web フィルターを使って、これらの IcedID 関連ドメインを表示したものです。

画像 9 は Wireshark のスクリーンショットです。トラフィックの行を指す赤い矢印が IcedID 感染に関連するドメインを示している
Wireshark のスクリーンショット。トラフィックの行を指す赤い矢印が IcedID 感染に関連するドメインを示している

フィルター ボタンの作成

複雑なフィルター式を毎回 Wireshark の [表示フィルタ] ツールバーに入力するのは面倒です。さいわい、入力した式は、フィルター ボタンとして保存することができます。

Wireshark の [表示フィルタ] ツールバーの右側には、フィルター ボタンを追加するための [+] ボタンがあります。図 7、8、9 で示した基本的な Web フィルターが適用された状態であることを確認してください。それが確認できたら、図10 に示すように、この [+] ボタンをクリックします。

画像 10 は Wireshark のスクリーンショットです。赤い四角は、[+] をクリックしてフィルター ボタンを追加する方法を示しています。[Filter Button Preferences (フィルターボタンの設定)]、[Label (ラベル)]、[Filter (フィルタ)]、[Comment (コメント)] のフィールドが表示されています。終わったら [Cancel (キャンセル)] か [OK] をクリックします。
図10. [+] をクリックしてフィルター ボタンを追加
[+] をクリックすると [表示フィルタ] ツールバーのすぐ下に一時的なパネルが表示されます (図 10)。このパネルには [Label (ラベル)]、[Filter (フィルタ)]、[Comment (コメント)] の 3 つのフィールドがあります。[Filter (フィルタ)] フィールドには、[表示フィルタ] ツールバーに入力された式があらかじめ入った状態になっています。このフィルターは基本的な Web 用フィルターなので、[Label (ラベル)] フィールドに「basic」と入力して [OK] をクリックしてください(図 11)。

画像 11は「basic」というフィルターを作成している Wiresharkのスクリーンショットです。黒い矢印は、このラベルが「basic」であることを示しています。2 つ目の黒い矢印は [OK] ボタンを押すことを示しています。
図11. 「basic」というWeb フィルター ボタンを作成
これで、図12 に示すように、Wireshark の [表示フィルタ] ツールバーの右側に 「basic」というボタンが作成されたはずです。Wireshark のフィルター ボタンには境界線が描かれないので一見ラベルのように見えますが、これでボタンとして機能します。[basic] Web フィルターを使いたいときは、このボタンをクリックするだけです。

画像 12 は拡大した Wireshark のスクリーンショットです。黒い矢印は [basic] のフィルター ボタンを示しています。
図12. [basic] Web フィルター ボタン
このチュートリアルでは、以下の表 2 に示すフィルター ボタンを作成します。

ボタン ラベル フィルター式
basic basic (http.request or tls.handshake.type eq 1) and !(ssdp)
basic+ basic (http.request or tls.handshake.type eq 1 or (tcp.flags.syn eq 1 and tcp.flags.ack eq 0)) and !(ssdp)
basic+dns basic (http.request or tls.handshake.type eq 1 or (tcp.flags.syn eq 1 and tcp.flags.ack eq 0) or dns) and !(ssdp)

表2. 悪意のある Web トラフィックをより詳細に調査するためのフィルター ボタン

Wireshark で不審なトラフィックを調べるさいは、少しずつ対象を絞り込んでいく必要があります。[basic] の Web フィルターでまずはざっくりフィルタリングしてから、[basic+] フィルターで Web 以外のトラフィックもチェックしましょう。

表 2 の [basic+] フィルターの式は、[basic] フィルターと同じ式の後ろに、ACK フラグが立っておらず SYN フラグが立っている TCP セグメントを含めるための 「or (tcp.flags.syn eq 1 and tcp.flags.ack eq 0) 」を追加してあります。これにより、TCP ストリームの開始を示す TCP SYN セグメントが表示されます。このフィルターを使うと pcap にある Web 以外のトラフィックを見つけられます。

[basic+] フィルターでは失敗した TCP 接続試行も表示します。対象の IP アドレスにもよりますが、TCP の接続試行が繰り返し失敗している場合、これはその pcap をキャプチャーした時点で相手 C2 サーバーがオフラインであったことを示している可能性があります。

[basic+] フィルターを確認したら、[basic+dns] フィルターを確認して、なにか目につく DNS のアクティビティがないかを確認する必要があります。

表 2 の [basic+dns] フィルターの式は、[basic+] フィルターと同じ式に「or dns」が追加されています。このフィルターは pcap に含まれる DNS クエリーを表示するものです。これは Web 以外のトラフィックと関連するドメイン名を特定するのに使えて便利です。

さらに、pcap をキャプチャーした時点でマルウェア サンプルの C2 サーバーがオフラインであれば、このフィルターを使って、失敗した接続試行に関連する C2 ドメインを確認できます。最後に、このフィルターによって DNSトンネリングのサンプルが見つかることがあります。

以下の図 13 と図 14 を参考にして [basic+] フィルターと [basic+dns] フィルターを追加してください。フィルター ボタンを追加すると、Wireshark の [表示フィルタ] ツールバーの右側にボタンが 3 つ表示されます (図 15)。

画像 13 は Wireshark のスクリーンショットです。黒い矢印は [basic+] フィルターの作成を示します。[Filter Button Preferences (フィルターボタンの設定)]、[Label (ラベル)]、[Filter (フィルタ)]、[Comment (コメント)] のフィールドが表示されています。終わったら [Cancel (キャンセル)] か [OK] をクリックします。入力されたラベルは「basic+」です。
図13. [basic+] フィルター ボタンの作成
画像 14 は Wireshark のスクリーンショットです。黒い矢印は、「basic+dns」フィルターを作成することを示しています。[Filter Button Preferences (フィルターボタンの設定)]、[Label (ラベル)]、[Filter (フィルタ)]、[Comment (コメント)] のフィールドが表示されています。終わったら [Cancel (キャンセル)] か [OK] をクリックします。入力されたラベルは「basic+dns」です。フィルターには「basic (http.request or tls.handshake.type eq 1 or (tcp.flags.syn eq 1 and tcp.flags.ack eq 0) or dns) and !(ssdp)」と入力されています。
図14. [basic+dns] フィルター ボタンの作成
画像 15 は拡大した Wireshark のスクリーンショットです。新しいフィルターボタンが、[basic]、[basic+]、[basic+dns] の順に並んで表示されています。
図15 Wireshark の [表示フィルタ] ツールバーの隣に新しく作成されたフィルター ボタン
新しいフィルター ボタンを 3 つ準備したので、べつの種類の悪質なトラフィックを調べてみることにしましょう。

Web 以外のトラフィックのフィルタリング

3 つ目の pcap、Wireshark-tutorial-filter-expressions-3-of-5.pcap を Wireshark で開きます。この pcap には、Ave Maria RAT (Warzone RAT としても知られている) と呼ばれるリモート アクセス ツール (RAT) マルウェアが生成した感染後のトラフィックが含まれています。

[basic] Web フィルターを使っても、トラフィックには目をひくものがありません。しかし、[basic+dns] Web フィルターを使った結果をスクロールすると、状況がはっきりしてきます。以下の図 16 に示すように、87.121.221[.]212 に解決されるadaisreal.ddns[.]net 宛の DNS クエリーが見つかります。それに続けてこの IP アドレス宛の SYN フラグが立った TCP セグメントが 7888/tcp 上に見つかります。

画像 16 は Wireshark のスクリーンショットです。使用されているフィルターは [basic+dns] フィルターです。黒い四角は、標準クエリーと標準クエリーへの応答を示しています。標準クエリーは「0xdab7 A adaisreal.ddns.net」です。標準のクエリーへの応答は「0xdab7 A adaisreal.ddns.net A 87.121.221[.]212」です。SYN フラグも表示されています。
図16. 3 つ目の pcap から見つかった Ave Maria RAT の C2 トラフィック
これは一例に過ぎませんが、RAT をはじめ、さまざまなマルウェアがこれと似たような Web 以外のトラフィックを生成します。今回作った [basic+dns] フィルターは、Web 以外のトラフィックで行われる悪意のあるアクティビティを探す方法を提供してくれます。

FTP トラフィックのフィルタリング

感染トラフィックによっては Wireshark が容易にデコードできる汎用プロトコルを使っている場合があります。4 つめの pcap、Wireshark-tutorial-filter-expressions-4-of-5.pcap には、FTP トラフィックを生成するマルウェア実行ファイルによる感染後のアクティビティが含まれています。今回作った [basic+dns] フィルターを適用すると、valvulasthermovalve[.]cl への DNS クエリーにつづく 21/tcp 上のトラフィックと、別の TCP ポートを使うトラフィックを表示できます (図 17)。

画像 17 は Wireshark のスクリーンショットです。使用されているフィルターは [basic+dns] フィルターです。黒い四角は、標準クエリーと標準クエリーへの応答を示しています。標準クエリーは「0x583f A valvulasthermovalve[.]cl」です。標準クエリーへの応答は「0x583f A valvulasthermovalve[.]cl A 190.107.177[.]239です。SYN フラグも表示されています。
図17. 4 つめの pcap から FTP トラフィックを見つける
図 17 では、この FTP のアクティビティ直前に api.ipify[.]org への HTTPS トラフィックも確認できます。このドメインじたいは本質的に悪意があるものではありませんが、マルウェアは感染ホストの IP アドレス確認のために、しばしばこのサービスを利用します。

今回作った [basic+dns] フィルターも平文 FTP トラフィックを見つける役に立ちますが、FTP を検索するのにはべつのフィルター式が適しています。平文 FTP トラフィックを検索する 2 つの基本的な Wireshark フィルターを表 3 に示します。

フィルター式 説明
ftp 制御用チャンネル (21/tcp) における FTP アクティビティ
ftp-data データ用チャンネル (エフェメラル TCP ポート) における FTP アクティビティ

表3 Wireshark の基本的な FTP 検索

平文の FTP アクティビティを確認する汎用フィルター式は次のとおりです。

ftp.request.command or (ftp-data and tcp.seq eq 1)

上記の式を Wireshark の [表示フィルタ] ツールバーに入力して Enterを押してください。結果は図 18 のスクリーンショットと同じような内容になるでしょう。

画像 18 は Wireshark のスクリーンショットです。「ftp.request.command or (ftp-data and tcp.seq eq 1)」というフィルターを使って FTP のアクティビティ フローを確認できます。
図18. Wireshark でフィルター式を指定して FTP のアクティビティ フローを確認

図 18 には、侵害された FTP サイトのユーザー名とパスワードのほか、この FTP サーバーに HTML ファイルを送っている STOR コマンドが表示されています。これは、盗まれたデータが感染した Windows ホストから漏出したことを意味しています。TCP ストリームを追跡すれば、FTP コマンドを確認して、盗まれたデータを調べられます。必要なら、このフィルター式をフィルター ボタンとして保存し、今後の調査に使うとよいでしょう。

電子メールトラフィック (Spambot) のフィルタリング

マルウェアは悪意のあるトラフィックに FTP 以外の汎用プロトコルを使うことがあります。Spambot マルウェアは、感染させたホストを電子メール メッセージを送りつづけるスパムボットに変えるよう設計されています。さまざまなメールサーバーへの大量の DNS リクエストに続き、TCP ポート 25、465、587、および SMTP トラフィックとはあまり関係のないポートでの SMTP トラフィックの発生がこのアクティビティの特徴です。

5 つめの pcap、Wireshark-tutorial-filter-expressions-5-of-5.pcap には、感染後の Spambot のトラフィックが含まれています。この pcap を開いて Wireshark の [表示フィルタ] ツールバーに以下の式を入力してください。

smtp or dns

結果は図 19 のようになるはずです。

画像 19 は Wireshark のスクリーンショットです。「smtp」または「dns」のフィルターを使用すると、Spambot のアクティビティを確認できます。
図19. 5 つめの pcap で見られる Spambot のアクティビティを簡単に確認

フィルタリングした結果をスクロールしてください。右端の [Info] 列に、さまざまなメール サーバーのドメイン宛の DNS クエリーと、さまざまな SMTP コマンドが見つかるはずです。

次に、[表示フィルタ] ツールバーに次のフィルターを入力します。

smtp.req.command

以下の図 20 に示す結果は、感染ホストが比較的短時間内にメール サーバーの複数の異なる IP アドレスに接続したことを示しています。これらの SMTP リクエストのほとんどが、STARTTLS コマンドを使っている点に注目してください。このコマンドは、最初の SMTP 接続の後、暗号化されたトンネルを確立するものです。電子メールのトラフィックはほとんどが暗号化されていて、Spambot のアクティビティもほとんどが暗号化されています。

画像 20 は、フィルター「smtp.req.command」適用した場合に表示されるトラフィックの Wireshark スクリーンショットです。
図20. 5 番目の pcap を「smtp.req.command」でフィルタリングしたところ

ただし、Spambot のトラフィックのなかには、電子メール メッセージが平文になっていて内容を確認できるものもあります。これらのメッセージを検索するには、Wireshark の [表示フィルタ] ツールバーに次の式を入力します。

smtp.data.fragment

この結果、以下の図 21 に示すようにパケット一覧部には 7 行が表示されます。これらのメッセージの TCP ストリームを追跡すれば、これらのメッセージをさらに調査できます。

画像 21 は、フィルター「smtp.req.command」を使って表示されたトラフィックの Wireshark スクリーンショットです。
図21. Spambot トラフィックが送信した平文の電子メールをフィルタリングしたところ

詳細なものではないですが、これらは Spambot のトラフィック調査に役立つ最も一般的なフィルター式です。

結論

pcap の内容を理解する上で Wireshark の表示フィルター式は必須です。パケット一覧部の列表示を最適化し、これらのフィルター式を組み合わせて使えば、セキュリティ専門家が不審なネットワーク アクティビティを調査するのにとても便利です。

本シリーズの次回のチュートリアルでは、不審なネットワーク トラフィックで感染したホストやユーザーを特定する方法を取り上げます。

本チュートリアルの pcap には Windows ベースのマルウェアが生成したトラフィックを含んでいます。パロアルトネットワークスのお客様は、WildFireAdvanced Threat PreventionAdvanced URL Filtering などのクラウド配信型セキュリティサービスを有効にした次世代ファイアウォール (NGFW) Cortex XDR によりこれらの脅威からの保護を受けています。

侵害の懸念があり弊社にインシデントレスポンスに関するご相談をなさりたい場合は、こちらの問い合わせフォームからご連絡いただくか、infojapan@paloaltonetworks.com まで電子メールにてご連絡いただくか、下記の電話番号までお問い合わせください(ご相談は弊社製品のお客様には限定されません)。

  • 北米フリーダイヤル:866.486.4842 (866.4.UNIT42)
  • EMEA: +31.20.299.3130
  • APAC: +65.6983.8730
  • 日本: (+81) 50-1790-0200

パロアルトネットワークスは、ファイル サンプルや IoC (侵害指標) をふくむ調査結果を Cyber Threat Alliance (CTA: サイバー脅威アライアンス) のメンバーと共有しました。CTA のメンバーはこのインテリジェンスを使って、お客様に保護を迅速に提供し、悪意のあるサイバー攻撃者を体系的に阻害することができます。詳細は Cyber Threat Alliance にてご確認ください。

IoC (侵害指標)

以下は今回のチュートリアルで使った pcap に含まれている悪意のあるアクティビティのインジケーター (侵害指標) です。

URL hxxp://194.55.224[.]9/liuz/five/fre.php
説明 2023 年 8 月 15 日時点で確認されたLoki Bot の C2 の URL
2023 年 7 月 27 日に確認された IcedID C2 ドメイン
  • vrondafarih[.]com - HTTP トラフィック
  • magiketchinn[.]com - HTTPS トラフィック
  • magizanqomo[.]com - HTTPS トラフィック
URL 87.121.221[.]212:7888 - tcp://adaisreal.ddns[.]net:7888/
説明 2023 年 6 月 5 日時点で記録された Ave Maria RAT (Warzone RAT) の C2
SHA256ハッシュ値 adfa401cdfaac06df0e529bc9d54b74cea9a28d4266a49edafa5b8e04e3b3594
ファイル サイズ 604,672 バイト
ファイル名 不明
ファイルの説明 Windows 実行可能ファイル (EXE) でデータ漏洩に FTP を使用するインフォスティーラー
URL 190.107.177[.]239:21 - fxp://valvulasthermovalve[.]cl/
説明 2023 年 6 月 7 日の時点で、正規のサイトの FTP サーバーがデータの漏出に使われ、上記マルウェア サンプルでも使われていることが確認されている
SHA256ハッシュ値 f24259e65a935722c36ab36f6e4429a1d0f04c0ac3600e4286cc717acc5b03d7
ファイル サイズ 134,140 バイト
ファイル名 Details-3922941.one
ファイルの説明 2023 年 3 月 16 日の Emotet 感染における平文 Spambot メールの添付ファイル (OneNote ファイル)

追加リソース