WiresharkでSIP/TLSを復号する方法

暗号化されているSIPを見る

SIPにて通信するIP-PBXはUDPを利用する場合と、TCP/TLSにて暗号化する場合が有ります。
暗号化されている場合はWiresharkで見る事は出来ません。

SIPサーバーからプライベートキーを取得し、Wiresharkに読み込ませる事で暗号化されたSIPを可視化(復号)する事が可能です。
トラブルシューティングなどに役立ちます。

プライベートキーを取得する

Asteriskの場合は/etc/asterisk/keys/asterisk.keyなどに有ります。

cat /etc/asterisk/keys/asterisk.key
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDJPR23Oc+riWUqolENmurMBnVAieuMEhVb0hBlm0qskPqH+OXl
Yto/lgZF9FPl0lGFKPPOUTVW8bOz4B4l7HEXUWp4nOGXVbdSN8qNsgE462FDrjwt
zH7wWGtD+18Nm7KtRc3Mr2w8AxTT9+VjUwRjj2zP7Quof0AQ8lo3oY4qzwIDAQAB
AoGAGnAfEU1VDTI1yk4c2+64XimTCfGUsohFqhSE9vRZ8SXy5B49Bc/g4G2zUUly
JEVnVFk2/qoIme2TMFSHYXAYwz3YvGuG20MsAnnjVlf1/0/OAZt8DPFGCsUO5I9j
:
:
Dl1jQWoamhsDqsUhKmpa88k9R7zorVFmxwJBALVM7vixEnG3I7JDT8VKnZqdkan4
jArCp6xu7TAWLGii2JiA8kXKrbTcZKpeFAVYRQNYajnbyXEU3g6QAM0LGEkCQCbK
ojNM1cAuyr6WpB+wmIkzVJ7EqqMVozrhYOo2enVI8HevOnQPjgg5p/rPRD4asXxU
v4+hgYcX0WLDQOlA5lsCQQDNfxyuNDNUZNaLkT71Yb4d9J6qtiXEdJpeWJeF6gRK
Pg1L0kWOL5tttAtlsDA12NVDTSn2C636+8xuMTJEqjJ3
-----END RSA PRIVATE KEY-----

Wiresharkにキーを設定する

Wireshark > Preferences…

Protocols >

Protocols > TLS > (Pre)-Master-Secret log filename
プライベートキーを設定します。

RSA keys listを開きます。

+をクリックして以下項目を設定します。
・IP address : 復号したい通信のアドレス
・Port : ポート
・Protocol : sip
・Key File : プライベートキーを設定

復号されたSIPを見る

復号する前はTLSv1.2だったプロトコルがSIPとして表示されています。

TLSv1.2で暗号化されたSIPのREGISTERが表示されています。

Call Flowも普通に見る事が出来ます。

何かと多機能なWireshark しっかり習得するにはこちら↓

TwitterFacebookLinkedInHatenaPocketCopy Link