【Wireshark】 LinuxでキャプチャーしたSSL/TSL通信をWindows Wiresharkで復号化する

1 はじめに

本記事は、CentOSなどのRed Hat Enterprise Linux(以降RHELと略す)系Linuxで
キャプチャーしたHTTPSSMTPSPOP3SなどのSSL/TSLの暗号通信を
WindowsのWiresharkで復号化する方法を示すものです。

# 2023年09月現在での
# RHELクローンOSについては、たくさんあって、名前をよく知っていません。
# サーバー系のディストリビューションとしては、個人的にはRHEL系を選びたいです。

LinuxにもGUI版Wiresharkをインストールすることができます。
未確認ですが、Windows版と同様にLinux単独でもSSL/TSL通信の復号化はできると思います。

ですが、Windowsの方が周辺ツールは充実していますので、
調査解析など思考しながらの操作となると、Windowsの方が断然有利かなと思っています。

図1-1にLinuxでキャプチャーしたSSL/TSL通信
Windows Wiresharkで復号化する流れの概略を示します。

2 LinuxでのSSL/TSL通信のキャプチャー

WiresharkでSSL/TSL通信を復号化するには、次のどちらかが必要です。

プリマスターシークレット・ログ
・サーバーが保有している秘密鍵

またWindowsで復号化するなら、当然Linuxでキャプチャーした通信ログのファイルが必要です。

本章では、これらファイルの取得とWindowsへの転送方法について述べます。

なお、「プリマスターシークレット」については、次のWebページをご覧ください。

【Wireshark】WiresharkでSSL/TSLの 暗号化通信を復号化する
2 プリマスターシークレット・ログ

2.1 環境変数”SSLKEYLOGFILE”

プリマスターシークレット・ログは、
ファイル出力パスが設定された次の環境変数が定義されていなければ取得できません。

SSLKEYLOGFILE

.bashrc”などに、次に示す例のように定義します。

【SSLKEYLOGFILEの定義例】

export SSLKEYLOGFILE=~/AppCache/TLS/ pre-master-secret.log

~/AppCache/TLS/ pre-master-secret.log    プリマスターシークレット・ログの出力パス

2.2 キャプチャーログの取得保存

SSL/TSL通信のキャプチャーログは、次のいずれかのコマンドで取得します。

tshark
tcpdump

どちらも、ファイルへのログ出力中は、標準出力への同時出力がありません。
キャプチャー終了のタイミングは、感に頼るしかありませんね。

2.2.1 tshark

tsharkでは、”-w”オプションでログ出力ファイルを指定します。

$ tshark -w <outfile> [--capture-comment <comment>]

pcapng”のフォーマットで出力されるようで、
ファイル名拡張子は”.pcapng”とするのが良さそうです。

なお、tsharkは、標準ではインストールされていません。
利用する場合は、インストールする必要があります。

インストールは、次のWebページをご覧ください。

【tshark / Wireshark】RHELにtsharkをインストールする

設定によって、root権限で実行する必要が無く、一般ユーザー権限で利用できる
のも使い勝手の良い点の一つです。

2.2.2 tcpdump

tcpdumpでも、tsharkと同様”-w”オプションでログ出力ファイルを指定します。

# tcpdump -w <outfile>

pcap”のフォーマットで出力されるようで、ファイル名拡張子は”.pcap”とするのが良さそうです。

2.3 キャプチャーログ・ファイルのWindowsへの転送

次の2つのファイルは、Linux・Windowsから共にアクセスできる空間に置かれているか、
ftpなどによってWindowsに転送されなければなりません。

プリマスターシークレット・ログ
・キャプチャーログ

ftpによるファイル転送は、正直言って面倒です
(コピーを作るのもイヤです。 何より不正アクセスを試みる輩が多いので、ポートを公開したくありません)。

上の2つのファイルは、転送が不要なSamba共有CIFS共有、あるいはNASドライブ
直接出力するように設定すると良いかと思っています。

LinuxでのNASドライブ・マウントについては、次のページをご覧いただければと思います。

【SMB / CIFS】LinuxでNASドライブをマウントする

3 Windows Wiresharkでの復号化

Windows / WiresharkでのSSL/TSL通信の復号化については、
下に示すWebページに詳述しています。
そちらをご覧いただければと思います。

【Wireshark】WiresharkでSSL/TSLの 暗号化通信を復号化する

以上

HTMLだと、
思うように編集することは難しく、やろうすればとっても時間が掛かります。
ですので、本記事の元となっているWordで作成したPDFを
ページ最後に貼り付けました。

少しでも役に立てていただければ、うれしく思います。

このPDFファイルは、自由に配布されてもかまいません。
ただし、再配布の際には、
入手元著者名は明らかにしてください

なお、上のPDFファイルの内容、また本文中の記述に、
誤字や脱字、誤った内容の記述など見つかりましたら、
下に示すフォームでご連絡いただければ幸いです。

お問い合わせ