pcap分析へのアプローチ

このブログは、進学して株式会社Armorisに戻ってきたアルバイトのseigo2016が書いています。 あるもりすぶろぐの内容は個人の意見です。

はじめに

今回は、Unit42のWiresharkについてのクイズを参考に、pcap分析の問題を解くアプローチについてご紹介します。

Quiz 日本語訳(要約)

原文及び詳細はUnit 42 Wireshark Quiz, January 2023 を参照してください。

今回の pcapファイルはスタンドアロンWindows クライアントで取得されたもので、Windows システムの通常のトラフィックSMTPトラフィックなど様々なトラフィックが含まれています。
このpcapファイルを分析し、下記の設問に回答するのが今回の問題となっています。

UTCでいつ悪意のある通信が始まりましたか?
感染したPCのIPアドレスは?
感染したPCのMACアドレスは?
感染したPCのWindows ホスト名は?
感染したPCのWindows アカウント名は?
感染したホストにはどれだけのRAMがありますか?
感染したホストで使われているCPUの種類は?
感染したホストのPublic IPアドレスは?
マルウェアによって盗まれたアカウントログインデータの種類は?

準備

1. Wiresharkの準備

Wiresharkを公式サイトからインストールします。

2.pcapファイルのダウンロード

用意されているpcapファイルをダウンロードします。
https://github.com/pan-unit42/Wireshark-quizzes/blob/main/2023-01-Unit42-Wireshark-quiz.pcap.zip

pcapファイルとは、パケットをキャプチャしたデータファイルです。
今回は、このデータを分析して被害を受けたPCの情報や内容を特定していきます。

3. pcapファイルの読み込み・表示

Wiresharkでダウンロードしたpcapファイルを読み込みます。
以下のようにパケットが一覧で表示されると思います。

見方

Wiresharkの詳しい使い方はこちらの記事を参照してください。

Filter 赤

smtptcp,ip.addr等の条件を入力することでフィルタを設定できます。

パケットリスト 青

パケット単位で一覧表示します。

パケット詳細 オレンジ

選択したパケットの詳しい情報が表示されます。

分析

パケットの絞り込み

問題文によると、暗号化されていないSMTP Trafficに、感染したホストの様々なログイン資格情報が含まれているようです。 Filterにsmtpと入力し、smtpパケットのみ表示するようにします。

このパケットリストのなかから不審なSMTPトラフィクを探し、その詳細部分からホストのIPや認証データを確認するという流れになります。

パケット情報の取得

MACアドレスは該当パケットのネットワークインターフェース層のイーサネットフレーム部分から確認することができます。

また、メールの本文情報やデータはアプリケーション層部分から確認することができます。

IMFオブジェクトの確認

IMFとは、Internet Message Formatの略で、メールサーバ間でやり取りするメッセージ形式を定めたフォーマットのことです。
IMFオブジェクトは、emlファイル形式でエクスポートすることができ、これをThunderbird等に読み込むことで確認できます。

これらのファイルエクスポート機能は便利ですが、マルウェア実行や法令上問題がある場合があるので、パケットを分析する際は気をつけてください。

IMFオブジェクトのエクスポート

File>Export Objects>IMFからIMFオブジェクトリストが表示されます。
これを保存することで.emlファイルに出力されます。

Thunderbirdで表示

この.emlファイルをThunderbirdで読み込み本文を表示することができます。
ここからアカウント情報を確認できます。

おわりに

Wiresharkによるpacpの分析は、いかにキャプチャされたパケットから目的のパケットを絞り込み、必要な情報を取り出すかが鍵となると感じました。

Wiresharkでpcapを分析できるようになることで、今回のようにマルウェアなどによる不審なトラフィックがないか、存在した場合の通信先や通信内容は何なのかを確認することができます。
他にも、emlのエクスポートなどの便利な機能も存在し、解析に役に立ちます。

この記事を読んで、Wiresharkによるpcap分析に少しでも興味を持っていただけたら幸いです。