web-dev-qa-db-ja.com

このpcapファイルから証明書を抽出するにはどうすればよいですか?

14個のスニッフィングされたSSLパケットのpcapファイルがあります。ここにアップロードしました:

ssl.pcap

私はwiresharkでそれを開きました。 14個のパケットが表示されます。の最大のものには、自己署名証明書が含まれているようです(一般のインターネットチュートリアルで作成されているため)。パケットに「Some-state」や「​​Intenet Widgets Pty Ltd」などのテストが含まれているのがわかります...実際に実際の証明書を抽出するにはどうすればよいですか(おそらくcrt形式ですか?

4

Wiresharkの新しいバージョン:

  • トラフィックがSSLとしてデコードされていることを確認します。つまり、SSLアナライザーをこのTCPストリームをAnalyze >> Decode Asに設定します。これで、パケットのSSL詳細が表示されます。
  • 証明書を含むパケット、この場合はパケット6を選択します。
  • パケットの詳細で、証明書自体に到達するまでSecure Socket Layerなどを展開します。

Screenshot from Wireshark, Certificate selected

  • コンテキストメニュー(右クリック)を使用して、Export Packet Bytesを含む証明書の生データをcert.derなどのファイルに保存します。
  • openssl x509 -inform der -in cert.der -textを使用すると、証明書を確認できます。openssl x509 -inform der -in cert.der -outform pem -out cert.crtを使用すると、証明書をPEM形式(つまり、crt形式の意味)に変換できます。
13
Steffen Ullrich

本来、Wireshark経由

WiresharkパケットキャプチャからSSL証明書を取得する方法:

  1. Wiresharkメニューから[編集]> [設定]を選択し、「TCPストリームを再構成することを許可」がTCP=プロトコル設定でチェックされていることを確認します。
  2. 「Certificate、Server Hello」(または、取得したいクライアント側の証明書の場合はClient Hello)を見つけます。
  3. パケットの詳細ペインで、Secure Sockets Layerプロトコルを展開します
  4. 「TLSv1 Record Layer:Handshake Protocol:Certificate」フィールドを展開します
  5. 「Handshake Protocol:Certificate」フィールドを展開します
  6. 証明書のリストを展開します。信頼の連鎖が存在するかどうかに応じて、1つ以上の証明書が存在する場合があります。最初の証明書はサーバー証明書、2番目は署名認証局、3番目はその認証局を信頼/署名したCAなどです。
  7. 取得する証明書を右クリックし、「選択したパケットバイトをエクスポート...」を選択して、ファイルに.der拡張子を付けます。

またはssldump または Network Miner (およびその他の疑いなく)などのツールを使用できます。

1
HopelessN00b

Network Minerを試す

PCAPファイルを Network Miner で実行します。証明書やその他のファイルタイプを抽出します。

1
StackzOfZtuff