
This post is also available in: English (英語)
セキュリティ専門家は、不審なアクティビティのパケット キャプチャ(pcap)をレビューする際、より詳しく調べるために、オブジェクトをpcapからエクスポートしなければならない場合があります。
本チュートリアルでは、pcapからさまざまな種類のオブジェクトをエクスポートするに当たってのヒントを解説します。ネットワーク トラフィックの基礎について、読者が理解していることが前提となります。ネットワーク トラフィックのこれらのpcapを使って、Wiresharkによるオブジェクトの抽出を練習します。このチュートリアルで以前解説した通り、Wiresharkの列表示が既にカスタマイズされていることも前提となります。
警告: これらのpcapのほとんどにはWindowsマルウェアが含まれ、本チュートリアルではこれらの悪意あるファイルを調べることになります。これらのファイルはWindowsマルウェアであることから、本チュートリアルはMacBookやLinuxホストのような非Windows環境で行うことが推奨されます。Linuxを実行する仮想マシン(VM)も使用できます。
本チュートリアルは、以下の内容を扱います。
- HTTPトラフィックからのオブジェクトのエクスポート
- SMBトラフィックからのオブジェクトのエクスポート
- SMTPトラフィックからの電子メールのエクスポート
- FTPトラフィックからのファイルのエクスポート
HTTPトラフィックからのオブジェクトのエクスポート
本チュートリアルで用いる最初のpcap「extracting-objects-from-pcap-example-01.pcap」は、こちらから入手できます。Wiresharkでpcapを開き、図1の通り、http.requestでフィルタリングします。

http.requestでフィルタリングを行った後、smart-fax[.]comへの2つのGETリクエストを見つけます。最初のリクエストの末尾は.docで、最初のリクエストによってMicrosoft Wordドキュメントが返されたことを意味します。2つめのリクエストの末尾は.exeで、2つめのリクエストによってWindows実行ファイルが返されたことを意味します。HTTP GETリクエストは以下の通りです。
- smart-fax[.]com – GET /Documents/Invoice&MSO-Request.doc
- smart-fax[.]com – GET /knr.exe
これらのオブジェクトは、次のメニュー パスを使うことで、HTTPオブジェクト リストからエクスポートできます: 「File (ファイル)」–>「Export Objects (オブジェクトのエクスポート)」–>「HTTP… 」図2に、Wiresharkでのメニュー パスを示します。

このメニュー パスから、図3の「Export HTTP object list (エクスポートするHTTPオブジェクトのリスト)」ウィンドウが表示されます。ホスト名にsmart-fax[.]comが含まれている最初の行を選択し、図3の手順で保存します。ホスト名にsmart-fax[.]comが含まれている2つめの行を選択し、図4の手順で保存します。


なお、HTTPオブジェクト リストの「Content Type (コンテンツ タイプ)」は、サーバーがHTTPレスポンス ヘッダーでファイルをどのように特定したかを示します。Windows実行ファイルは、検出を回避するために、故意に別の種類のファイルとして命名されている場合があります。幸い、本チュートリアルの最初のpcapは、非常に簡単な例です。
それでも、これらのファイルの内容が見かけ通りであるか確認する必要はあります。MacBookまたはLinux環境では、ターミナル ウィンドウやコマンド ライン インターフェイス(CLI)で、以下のコマンドを用いることができます。
- file [ファイル名]
- shasum -a 256 [ファイル名]
fileコマンドは、ファイルの種類を返します。shasumコマンドは、ファイルのハッシュ(この場合はSHA256)を返します。図5に、DebianベースのLinuxホスト上のCLIでこれらのコマンドを使った場合の画面を示します。

図5のコマンドとその結果は以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ file Invoice\&MSO-Request.doc Invoice&MSO-Request.doc: Composite Document File V2 Document, Little Endian, Os: Windows, Version 6.3, Code page: 1252, Template: Normal.dotm, Last Saved By: Administrator, Revision Number: 2, Name of Creating Application: Microsoft Office Word, Create Time/Date: Thu Jun 27 19:24:00 2019, Last Saved Time/Date: Thu Jun 27 19:24:00 2019, Number of Pages: 1, Number of Words: 0, Number of Characters: 1, Security: 0 $ file knr.exe knr.exe: PE32 executable (GUI) Intel 80386, for MS Windows $ shasum -a 256 Invoice\&MSO-Request.doc f808229aa516ba134889f81cd699b8d246d46d796b55e13bee87435889a054fb Invoice&MSO-Request.doc $ shasum -a 256 knr.exe 749e161661290e8a2d190b1a66469744127bc25bf46e5d0c6f2e835f4b92db18 knr.exe |
上記の情報により、不審なWordドキュメントが実際にMicrosoft Wordドキュメントであることが確認できます。また、不審なWindows実行ファイルも、実際にWindows実行ファイルであることが確認できます。SHA256ハッシュをVirusTotalでチェックすれば、これらのファイルがマルウェアとして検出されるかが判明します。またSHA256ハッシュをGoogleで検索すれば、さらなる情報を見つけられる可能性もあります。
Windows実行ファイルや他のマルウェア ファイルのほか、Webページも抽出できます。本チュートリアルで用いる2つめのpcap「extracting-objects-from-pcap-example-02.pcap」(こちらから入手可能)には、偽のPayPalログイン ページにログイン認証情報を入力しようとしている誰かのトラフィックが含まれます。
フィッシング サイトからのネットワーク トラフィックをレビューするときには、フィッシングWebページの見た目を確認したい場合もあるでしょう。図6のエクスポートするHTTPオブジェクトのメニューを介して、元のHTMLページを抽出できます。次に、図7の通り、分離された環境のWebブラウザを使って表示させることができます。


SMBトラフィックからのオブジェクトのエクスポート
マイクロソフトのServer Message Block (SMB)プロトコルを使用し、Active Directory (AD)ベースのネットワーク全体に広がろうとするマルウェアも存在します。「Trickbot」として知られるバンキング トロジャンは、早いものでは2017年7月に、ワーム モジュールを追加しました。EternalBlueをベースとしたエクスプロイトを使うことで、SMBのネットワーク全体に広がりました。今日でも、このTrickbotワーム モジュールの兆候を見つける取り組みは続いています。
次のpcapとして、SMBを使って感染済みクライアント(10.6.26.110)からドメイン コントローラ(10.6.26.6)に広がろうとしたTrickbot感染を取り上げます。このpcap「extracting-objects-from-pcap-example-03.pcap」は、こちらから入手できます。pcapをWiresharkで開きます。図8の通り、「File (ファイル)」–>「Export Objects (オブジェクトのエクスポート)」–>「SMB…」のメニュー パスを利用します。

以上により、エクスポートするSMBオブジェクトのリストが表示されます。下記の図9の通り、このリストには、pcapからエクスポート可能なSMBオブジェクトが列挙されています。

リストの真ん中あたりに、ホスト名が「\\10.6.26.6\C$」のエントリが2つあるのが見えます。それぞれのファイル名のフィールドをよく見てみると、これらはいずれもWindows実行ファイルであることがわかります。詳しくは表1をご覧ください。
パケット数 | ホスト名 | コンテンツ タイプ | サイズ | ファイル名 |
7058 | \\10.6.26.6\C$ | FILE (712704/712704) W [100.0%] | 712 kB | \WINDOWS\d0p2nc6ka3f_fixhohlycj4ovqfcy_smchzo_ub83urjpphrwahjwhv_o5c0fvf6.exe |
7936 | \\10.6.26.6\C$ | FILE (115712/115712) W [100.0%] | 115 kB | \WINDOWS\oiku9bu68cxqenfmcsos2aek6t07_guuisgxhllixv8dx2eemqddnhyh46l8n_di.exe |
表1: エクスポートするSMBオブジェクトのリストから得られた、2つのWindows実行ファイルに関するデータ
これらのファイルの適切なコピーをエクスポートするには、「Content Type (コンテンツ タイプ)」の数字が[100.00%]でなければいけません。数字が100%を下回っている場合は、ネットワーク トラフィックにおいて何らかのデータ損失が発生し、結果的にファイルが破損したり、不完全なコピーになったりしていることを意味します。これらのpcapからのTrickbot関連ファイルは、表2の通り、SHA256ハッシュです。
SHA256ハッシュ | ファイル サイズ |
59896ae5f3edcb999243c7bfdc0b17eb7fe28f3a66259d797386ea470c010040 | 712 kB |
cf99990bee6c378cbf56239b3cc88276eec348d82740f84e9d5c343751f82560 | 115 kB |
表2: SHA256ハッシュのWindows実行ファイル
SMTPトラフィックからの電子メールのエクスポート
感染したWindowsホストをスパムボットに変えるように設計されているマルウェアも存在します。これらのスパムボットは、毎分数百件ものスパム メッセージや悪意ある電子メールを送信します。暗号化されていないSMTPを使って送られるメッセージもあり、これらのメッセージは感染トラフィックのpcapからエクスポートできます。
この一例が、次のpcap、extracting-objects-from-pcap-example-04.pcapからのものです(こちらから入手可能)。このpcapでは、感染したWindowsクライアントがセクストーション(性的脅迫)スパムを送信しています。Wiresharkでpcapを開き、smtp.data.fragmentでフィルター処理すると、図10に示すように、50個の件名の例が表示されます。これは、単一の感染したWindowsホストからの5秒間のネットワーク トラフィックで発生しました。

図11に示す通り、これらのメッセージはメニューパス「File (ファイル)」–>「Export Objects (オブジェクトのエクスポート)」–>「IMF…」を使用してエクスポートすることができます。IMFはInternet Message Formatの略で、.emlファイル拡張子が付加された名前で保存されます。

図12に示すように、セクストーション スパム メッセージはすべて、IMFオブジェクト リストに.emlファイル拡張子が付加されて一覧されます。

それらをエクスポートした後、これらの.emlファイルはThunderbirdなどの電子メール クライアントで表示して確認したり、図13に示すように、テキスト エディターで調べたりすることができます。

FTPトラフィックからのファイルのエクスポート
一部のマルウェア ファミリーはマルウェアの感染にFTPを使用します。次のpcapには、FTPサーバーから取得されたマルウェア実行可能ファイルと、それに続いて、同じFTPサーバーに返送された感染したWindowsホストからの情報が含まれています。
次のpcapはextracting-objects-from-pcap-example-05.pcapで、こちらから入手可能です。Wiresharkでpcapを開き、ftp.request.commandでフィルター処理すると、図14に示すように、FTPコマンドを確認できます。ユーザー名(USER)とパスワード(PASS)、さらに、次の5つのWindows実行可能ファイルを取得するためのリクエスト(RETR)が続いていることがわかります: q.exe、w.exe、e.exe、r.exe、t.exe。さらに、約18秒ごとに、同じFTPサーバーにhtmlベースのログ ファイルを保存するためのリクエスト(STOR)が続きます。

現在、取得され送信されたファイルについて概念がわかっているため、図15に示すように、ftp-dataでフィルター処理することで、FTPデータ チャネルからトラフィックを確認することができます。

Wiresharkの「Export Objects (オブジェクトのエクスポート)」機能を使用して、これらのオブジェクトをエクスポートすることはできません。ただし、それぞれについて、データ チャネルからTCPストリームをたどる(フォローする)ことはできます。末尾が(SIZE q.exe)の任意の行を左クリックして、TCPセグメントの1つを選択します。その後、右クリックして、メニューを展開し、図16に示すように、メニューパス「Follow (フォロー)」–>「TCP stream (TCPストリーム)」を選択します。

これによって、FTPデータ チャネルを経由するq.exeのTCPストリームが表示されます。ウィンドウの下部近くには、「Show and save data as (データを表示して、次の形式で保存)」とラベル付けされたボタン型のメニューがあります。図17に示すように、デフォルトはASCII形式です。図18に示すように、メニューをクリックし、「Raw (ロー)」を選択します。


これで、図19に示すように、ウィンドウにはASCIIの代わりに16進数文字が表示されます。また、図19に示すように、ウィンドウ下部近くの「Save as…(名前を付けて保存)」ボタンを使用して、これをロー バイナリとして保存できます。

ファイルをq.exeとして保存します。Linuxまたは類似のCLI環境では、以下に示すように、これがWindows実行可能ファイルであり、SHA256ハッシュを取得していることを確認してください。
$ file q.exe
q.exe:PE32 executable (GUI) Intel 80386, for MS Windows
$ shasum -a 256 q.exe
ca34b0926cdc3242bbfad1c4a0b42cc2750d90db9a272d92cfb6cb7034d2a3bd q.exe
SHA256ハッシュは、VirusTotalでマルウェアとして高い検出率を示しています。pcap内の他の.exeファイルについても同じプロセスに従います。
- ftp-dataでフィルター処理する
- 「Info (情報)」列に使用中のファイル名があるTCPセグメントのTCPストリームをフォローする
- 「Show and save data as (データを表示して、次の形式で保存)」を「Raw (ロー)」に変更する
- 「Save as…(名前を付けて保存)」ボタンを使用してファイルを保存する
- 保存されたファイルが実際にWindows実行可能ファイルであることを確認する
これによって、表3に示すような、以下のファイルが取得されます。
SHA256ハッシュ | ファイル名 |
32e1b3732cd779af1bf7730d0ec8a7a87a084319f6a0870dc7362a15ddbd3199 | e.exe |
ca34b0926cdc3242bbfad1c4a0b42cc2750d90db9a272d92cfb6cb7034d2a3bd | q.exe |
4ebd58007ee933a0a8348aee2922904a7110b7fb6a316b1c7fb2c6677e613884 | r.exe |
10ce4b79180a2ddd924fdc95951d968191af2ee3b7dfc96dd6a5714dbeae613a | t.exe |
08eb941447078ef2c6ad8d91bb2f52256c09657ecd3d5344023edccf7291e9fc | w.exe |
表3.FTPトラフィックからの実行可能ファイル
感染したWindowsホストからFTPサーバーに返送されたHTMLファイルをエクスポートする場合は、より正確に検索する必要があります。なぜでしょうか?毎回、同じファイル名が使用されるからです。ftp.request.commandでフィルター処理して、終わりまでスクロールします。図20に示すように、窃取したデータをFTPサーバーにHTMLファイルとして保存(STOR)するために、同じファイル名が使用されたことがわかります。

FTPデータ チャネル経由で送信された関連付けられたファイルを確認するには、図21に示すように、「ftp-data.command contains .html (.htmlを含むftp-data.command)」フィルターを使用します。

図21では、ファイルがFTPサーバーに保存(STOR)されるたびに、宛先ポートが変わっています。1回目はTCPポート52202、2回目はTCPポート57791、さらに3回目はTCPポート55045です。4回目は57203で、5回目は61099です。
以前と同じプロセスを使用します。ここでは、ファイル名に着目する代わりに、TCPポートに注目します。ポート52202を使用しているいずれかのTCPセグメントのTCPストリームをフォローします。TCPストリーム ウィンドウで、「Show and save data as (データを表示して、次の形式で保存)」を「Raw (ロー)」に変更します。その後、ファイルを保存します。TCPポート57791経由のHTMLファイルに対して同じことを実行します。
5つすべてのHTMLファイルに対してこれを実行すると、それらがまったく同じファイルであることがわかります。これらのテキストベースのHTMLファイルには、マルウェアによって検出されたパスワードを含め、感染したWindowsホストに関するデータが含まれています。まとめ
Wiresharkで、このチュートリアルで概説した方法を使用して、pcapからさまざまなオブジェクトを抽出できます。これは、ネットワーク トラフィックからのアイテムを調べる必要がある場合に、非常に役立つことがあります。
Wiresharkをより有用に活用する方法については、以前のチュートリアルを参照してください。
Get updates from
Palo Alto
Networks!
Sign up to receive the latest news, cyber threat intelligence and research from us