読者です 読者をやめる 読者になる 読者になる

DARK MATTER

CDI Engineer's Technical Blog

サーバがサポートする暗号化アルゴリズムをsslscanコマンドで確認する

Burp Suite

HTTPS通信をBurpでうまく閲覧できない問題を解決する切り口の1つとして、サーバ側でサポートする暗号化アルゴリズムを把握することが挙げられます。
サーバがサポートする暗号化アルゴリズムを把握することで、例えば暗号化アルゴリズムの強度の制限による影響ではないかという観点を得ることができます。
本稿ではsslscanコマンドを使う方法を紹介します。

使い方

以下のようにコマンドを発行することで目的の情報を得ることができます。

$ sslscan --no-failed ホスト名:ポート番号

「--no-failed」オプションを指定することでサポートしている暗号化アルゴリズムのみを表示します。
サーバ側でサポートする暗号化アルゴリズムを把握する目的では、このオプションを付けておいたほうが可読性が上がります。

実験

前回使用した環境上でsslscanコマンドを発行し、socatコマンドに指定した暗号化アルゴリズムがsslscanコマンドで取得できることを実験してみます。


まずは「DHE-RSA-AES128-SHA256」を指定してsocatコマンドを起動します。

$ socat openssl-listen:8443,reuseaddr,fork,verify=0,cert=server.pem,cipher=DHE-RSA-AES128-SHA256 tcp4:localhost:8000


この状態でsslscanコマンドを発行すると、「Supported Server Cipher(s)」にsocatコマンドで指定した「DHE-RSA-AES128-SHA256」が表示されていることが確認できます。

$ sslscan --no-failed localhost:8443
(略)
  Supported Server Cipher(s):
    Accepted  TLS12  128 bits  DHE-RSA-AES128-SHA256
(略)


上記socatを終了させ、「DHE-RSA-AES128-SHA256」を「DHE-RSA-AES256-SHA256」に変更します。

$ socat openssl-listen:8443,reuseaddr,fork,verify=0,cert=server.pem,cipher=DHE-RSA-AES256-SHA256 tcp4:localhost:8000


この状態で再度sslscanコマンドを発行します。

$ sslscan --no-failed localhost:8443
(略)
  Supported Server Cipher(s):
    Accepted  TLS12  256 bits  DHE-RSA-AES256-SHA256
(略)


sslscanコマンドでの出力も「DHE-RSA-AES256-SHA256」に変化していることが確認できます。

株式会社サイバーディフェンス研究所 / Cyber Defense Institute Inc.