SlideShare a Scribd company logo
1 of 21
サーバの秘密鍵を使わず
SSL/TLS を解読する方法
2015/01/29
#pakeana 24
@otsuka752 (@twovs)
agenda
• 自己紹介
• サーバの秘密鍵を使う場合
• サーバの秘密鍵を使わない場合• サーバの秘密鍵を使わない場合
• 実行例(Win/Linux/OS X)
about me
• @otsuka752 (@twovs)
• ネコ2人+奥さん1人+可愛い娘
• 無線LAN装置の開発(1999~2004)• 無線LAN装置の開発(1999~2004)
• オンラインゲームのシステム管理者(2004~)
• ただし,ゲームには全く興味無し
• ZFS 最高 !!! beadm 便利 !!!
サーバの秘密鍵を使う場合
• サーバは RSA を使う設定に
(DH/ECC/DSA などを使わない設定に)
• サーバ証明書の公開鍵のペアの秘密鍵を
Wireshark に読み込ませる
(秘密鍵は PKCS#8/PEM/パスワード無し)
• そのサーバとの通信だけが解読可能
サーバの秘密鍵を使わない場合
• クライアントPC (Win/Mac) だけでも簡単に
• Google も Facebook も Yahoo も解読可能
• ただし Chrome や Firefox の通信だけ• ただし Chrome や Firefox の通信だけ
• NSS(Network Security Services)の機能を使う
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format
サーバの秘密鍵を使わない場合
• Chrome や Firefox で Key log を出力させ
• Key log を Wireshark に読み込ませる
• どこかでパケットをキャプチャ• どこかでパケットをキャプチャ
(Key log を出す PC 上でなくても OK)
実行例(Win/Chrome)
• Key log の出力先を c:¥sslkey_chrome.txt に
• chrome.exe を起動
実行例(Win/Chrome)
起動した Chrome で起動した Chrome で
HTTPS なページを閲覧
実行例(Win/Firefox)
• Key log の出力先を c:¥sslkey_firefox.txt に
• firefox.exe を起動
実行例(Win/Firefox)
起動した Firefox で起動した Firefox で
HTTPS なページを閲覧
実行例(Linux/curl)
• Key log の出力先を sslkey_curl.txt に
• curl を実行
実行例(Linux/curl)
実行例(OS X)
• Key log の出力先を sslkey_OSX.txt に
• Chrome や Firefox を普通に(Dock から)起動
実行例(OS X)
Dock からブラウザ起動
HTTPS なページを閲覧HTTPS なページを閲覧
サンプルファイルで
解読してみる
解読できない場合の一例
SSL/TLS の Key Log を出力する前に
SSL/TLS の handshake が完了していて
セッション再開時のパケットだけをセッション再開時のパケットだけを
見ている場合(該当する Key Log が無い場合)
ClientHello -> Session ID Length: 0
で handshake している時の Key Log が必要
サンプルファイル
• 通信開始時刻 2015/01/01 00:00:00'00
• 通信元
MAC Addr 00:11:22:33:44:55
IP Addr 10.0.0.1IP Addr 10.0.0.1
Port 10000
• 通信先
MAC Addr 00:aa:bb:cc:dd:ee
IP Addr (google/facebook/yahoo)
Port 443 (HTTPS)
サンプルファイルは…
• Tcpreplay で各種ヘッダを書き換えて配布
• tcprewrite ¥
--enet-smac=00:11:22:33:44:55 ¥--enet-smac=00:11:22:33:44:55 ¥
--enet-dmac=00:aa:bb:cc:dd:ee ¥
--pnat=x.x.x.x/32:10.0.0.1/32 ¥
--portmap=yyyyy:10000 ¥
-i origin.pcap ¥
-o sample.pcap
お知らせ
• 日本語サイト始めてみました!
• http://tcpreplay.jp/
• https://github.com/otsuka752/
• Web site in English
• http://tcpreplay.appneta.com/
• https://github.com/appneta/tcpreplay/
ENDEND

More Related Content

Viewers also liked

Viewers also liked (20)

ROI on social media by Ananth V
ROI on social media by Ananth VROI on social media by Ananth V
ROI on social media by Ananth V
 
Silverlight Wireshark Analysis
Silverlight Wireshark AnalysisSilverlight Wireshark Analysis
Silverlight Wireshark Analysis
 
PFSなTLS通信を復号する
PFSなTLS通信を復号するPFSなTLS通信を復号する
PFSなTLS通信を復号する
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
 
Wireshark入門(2)
Wireshark入門(2)Wireshark入門(2)
Wireshark入門(2)
 
Windows 8 でパケットキャプチャ
Windows 8 でパケットキャプチャWindows 8 でパケットキャプチャ
Windows 8 でパケットキャプチャ
 
Wireshark入門(4)
Wireshark入門(4)Wireshark入門(4)
Wireshark入門(4)
 
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみようHokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
 
パケットで遊ぼう! #ssmjp 2015/04
パケットで遊ぼう! #ssmjp 2015/04 パケットで遊ぼう! #ssmjp 2015/04
パケットで遊ぼう! #ssmjp 2015/04
 
Hokkaido.cap#1 Wiresharkの使い方(基礎編)
Hokkaido.cap#1 Wiresharkの使い方(基礎編)Hokkaido.cap#1 Wiresharkの使い方(基礎編)
Hokkaido.cap#1 Wiresharkの使い方(基礎編)
 
Hokkaido.cap#3 ケーススタディ(基礎編)
Hokkaido.cap#3 ケーススタディ(基礎編)Hokkaido.cap#3 ケーススタディ(基礎編)
Hokkaido.cap#3 ケーススタディ(基礎編)
 
実際に流れているデータを見てみよう
実際に流れているデータを見てみよう実際に流れているデータを見てみよう
実際に流れているデータを見てみよう
 
COD2013「ネットワーク パケット解析・基本の基本」
COD2013「ネットワーク パケット解析・基本の基本」COD2013「ネットワーク パケット解析・基本の基本」
COD2013「ネットワーク パケット解析・基本の基本」
 
ステートフル型のトラフィック監視ツールとDNSの監視例
ステートフル型のトラフィック監視ツールとDNSの監視例ステートフル型のトラフィック監視ツールとDNSの監視例
ステートフル型のトラフィック監視ツールとDNSの監視例
 
Report aeroporti del sud
Report aeroporti del sudReport aeroporti del sud
Report aeroporti del sud
 
大規模負荷試験時にやったこと
大規模負荷試験時にやったこと大規模負荷試験時にやったこと
大規模負荷試験時にやったこと
 
#pakeana 14
#pakeana 14#pakeana 14
#pakeana 14
 
Pcapngを読んでみる
Pcapngを読んでみるPcapngを読んでみる
Pcapngを読んでみる
 
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
 

More from @ otsuka752

More from @ otsuka752 (20)

NS & NSID of Amazon Route 53
NS & NSID of Amazon Route 53NS & NSID of Amazon Route 53
NS & NSID of Amazon Route 53
 
OLD_LT_DNS_OLD
OLD_LT_DNS_OLDOLD_LT_DNS_OLD
OLD_LT_DNS_OLD
 
OLD_Lt traffic analyse_OLD
OLD_Lt traffic analyse_OLDOLD_Lt traffic analyse_OLD
OLD_Lt traffic analyse_OLD
 
Hijack the domain name
Hijack the domain nameHijack the domain name
Hijack the domain name
 
Route53 で親子同居
Route53 で親子同居Route53 で親子同居
Route53 で親子同居
 
reusable delegation set のススメ (Route53)
reusable delegation set のススメ (Route53)reusable delegation set のススメ (Route53)
reusable delegation set のススメ (Route53)
 
DNS64 (El capitan and unbound-1.5.1)
DNS64 (El capitan and unbound-1.5.1)DNS64 (El capitan and unbound-1.5.1)
DNS64 (El capitan and unbound-1.5.1)
 
raspi + soracom #pakeana33
raspi + soracom #pakeana33raspi + soracom #pakeana33
raspi + soracom #pakeana33
 
192.0.0.4 on android
192.0.0.4 on android192.0.0.4 on android
192.0.0.4 on android
 
a little more about CaptureFilter
a little more about CaptureFiltera little more about CaptureFilter
a little more about CaptureFilter
 
iptables BPF module 効果測定
iptables BPF module 効果測定iptables BPF module 効果測定
iptables BPF module 効果測定
 
how to defend DNS authoritative server against DNS WaterTorture
how to defend DNS authoritative server against DNS WaterTorturehow to defend DNS authoritative server against DNS WaterTorture
how to defend DNS authoritative server against DNS WaterTorture
 
WireEdit のススメ
WireEdit のススメWireEdit のススメ
WireEdit のススメ
 
Measurement of Maximum new NAT-sessions per second / How to send packets
Measurement of Maximum new NAT-sessionsper second / How to send packetsMeasurement of Maximum new NAT-sessionsper second / How to send packets
Measurement of Maximum new NAT-sessions per second / How to send packets
 
about tcpreplay-edit
about tcpreplay-editabout tcpreplay-edit
about tcpreplay-edit
 
超簡単!? Punycode 変換 ~国際化・日本語ドメイン~
超簡単!? Punycode 変換 ~国際化・日本語ドメイン~超簡単!? Punycode 変換 ~国際化・日本語ドメイン~
超簡単!? Punycode 変換 ~国際化・日本語ドメイン~
 
毎日 dig ったら分かったこと ~新 gTLD~
毎日 dig ったら分かったこと ~新 gTLD~毎日 dig ったら分かったこと ~新 gTLD~
毎日 dig ったら分かったこと ~新 gTLD~
 
萌え萌えドメイン名一覧(.moe)
萌え萌えドメイン名一覧(.moe)萌え萌えドメイン名一覧(.moe)
萌え萌えドメイン名一覧(.moe)
 
about Tcpreplay
about Tcpreplayabout Tcpreplay
about Tcpreplay
 
パケットが教えてくれた ルートサーバが 13個の理由
パケットが教えてくれた ルートサーバが 13個の理由パケットが教えてくれた ルートサーバが 13個の理由
パケットが教えてくれた ルートサーバが 13個の理由
 

Recently uploaded

Recently uploaded (11)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

how to decrypt SSL/TLS without PrivateKey of servers