Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cipherscan — ターゲットがサポートしているSSL暗号スイートを判別するための非常にシンプルな方法。 | Kitploit
ツール/GitHubGitHub/mozilla/cipherscan
脆弱性スキャナー構成監査ネットワークセキュリティ暗号化
GitHubmozilla/cipherscan

cipherscan

ターゲットがサポートしているSSL暗号スイートを判別するための非常にシンプルな方法。

リポジトリを見る
2.0k2651年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CipherScan

Build Status

cipherscan

Cipherscanは、指定されたターゲット上のSSL/TLS暗号の順序を、すべての主要なSSLおよびTLSバージョンについてテストします。また、いくつかの証明書情報、TLSオプション、OCSPステープリングなども抽出します。Cipherscanは openssl s_client コマンドラインのラッパーです。

Cipherscanは、すべてのUnix系OSで動作することを意図しています。Linux/64およびDarwin/64向けに独自のOpenSSLビルドを同梱しています。その他のプラットフォームでは、オペレーティングシステムが提供するOpenSSLバージョン(暗号サポートが制限されている可能性があります)、または -o コマンドラインフラグで指定した独自のバージョンを使用します。

例

基本的なテスト:

root@kitploit:~
$ ./cipherscan google.com
...................
Target: google.com:443

prio  ciphersuite                  protocols                    pfs                 curves
1     ECDHE-RSA-CHACHA20-POLY1305  TLSv1.2                      ECDH,P-256,256bits  prime256v1
2     ECDHE-RSA-AES128-GCM-SHA256  TLSv1.2                      ECDH,P-256,256bits  prime256v1
3     ECDHE-RSA-AES128-SHA         TLSv1.1,TLSv1.2              ECDH,P-256,256bits  prime256v1
4     ECDHE-RSA-RC4-SHA            SSLv3,TLSv1,TLSv1.1,TLSv1.2  ECDH,P-256,256bits  prime256v1
5     AES128-GCM-SHA256            TLSv1.2                      None                None
6     AES128-SHA256                TLSv1.2                      None                None
7     AES128-SHA                   TLSv1.1,TLSv1.2              None                None
8     RC4-SHA                      SSLv3,TLSv1,TLSv1.1,TLSv1.2  None                None
9     RC4-MD5                      SSLv3,TLSv1,TLSv1.1,TLSv1.2  None                None
10    ECDHE-RSA-AES256-GCM-SHA384  TLSv1.2                      ECDH,P-256,256bits  prime256v1
11    ECDHE-RSA-AES256-SHA384      TLSv1.2                      ECDH,P-256,256bits  prime256v1
12    ECDHE-RSA-AES256-SHA         SSLv3,TLSv1,TLSv1.1,TLSv1.2  ECDH,P-256,256bits  prime256v1
13    AES256-GCM-SHA384            TLSv1.2                      None                None
14    AES256-SHA256                TLSv1.2                      None                None
15    AES256-SHA                   SSLv3,TLSv1,TLSv1.1,TLSv1.2  None                None
16    ECDHE-RSA-AES128-SHA256      TLSv1.2                      ECDH,P-256,256bits  prime256v1
17    ECDHE-RSA-DES-CBC3-SHA       SSLv3,TLSv1,TLSv1.1,TLSv1.2  ECDH,P-256,256bits  prime256v1
18    DES-CBC3-SHA                 SSLv3,TLSv1,TLSv1.1,TLSv1.2  None                None

Certificate: trusted, 2048 bit, sha1WithRSAEncryption signature
TLS ticket lifetime hint: 100800
OCSP stapling: not supported
Cipher ordering: server

STARTTLSのテスト:

root@kitploit:~
darwin$ $ ./cipherscan --curves -starttls xmpp jabber.ccc.de:5222
................................
Target: jabber.ccc.de:5222

prio  ciphersuite                  protocols              pfs                 curves
1     ECDHE-RSA-AES256-GCM-SHA384  TLSv1.2                ECDH,P-256,256bits  prime256v1
2     ECDHE-RSA-AES256-SHA384      TLSv1.2                ECDH,P-256,256bits  prime256v1
3     ECDHE-RSA-AES256-SHA         TLSv1,TLSv1.1,TLSv1.2  ECDH,P-256,256bits  prime256v1
4     DHE-RSA-AES256-GCM-SHA384    TLSv1.2                DH,1024bits         None
5     DHE-RSA-AES256-SHA256        TLSv1.2                DH,1024bits         None
6     DHE-RSA-AES256-SHA           TLSv1,TLSv1.1,TLSv1.2  DH,1024bits         None
7     DHE-RSA-CAMELLIA256-SHA      TLSv1,TLSv1.1,TLSv1.2  DH,1024bits         None
8     AES256-GCM-SHA384            TLSv1.2                None                None
9     AES256-SHA256                TLSv1.2                None                None
10    AES256-SHA                   TLSv1,TLSv1.1,TLSv1.2  None                None
11    CAMELLIA256-SHA              TLSv1,TLSv1.1,TLSv1.2  None                None
12    ECDHE-RSA-AES128-GCM-SHA256  TLSv1.2                ECDH,P-256,256bits  prime256v1
13    ECDHE-RSA-AES128-SHA256      TLSv1.2                ECDH,P-256,256bits  prime256v1
14    ECDHE-RSA-AES128-SHA         TLSv1,TLSv1.1,TLSv1.2  ECDH,P-256,256bits  prime256v1
15    DHE-RSA-AES128-GCM-SHA256    TLSv1.2                DH,1024bits         None
16    DHE-RSA-AES128-SHA256        TLSv1.2                DH,1024bits         None
17    DHE-RSA-AES128-SHA           TLSv1,TLSv1.1,TLSv1.2  DH,1024bits         None
18    DHE-RSA-SEED-SHA             TLSv1,TLSv1.1,TLSv1.2  DH,1024bits         None
19    DHE-RSA-CAMELLIA128-SHA      TLSv1,TLSv1.1,TLSv1.2  DH,1024bits         None
20    AES128-GCM-SHA256            TLSv1.2                None                None
21    AES128-SHA256                TLSv1.2                None                None
22    AES128-SHA                   TLSv1,TLSv1.1,TLSv1.2  None                None
23    SEED-SHA                     TLSv1,TLSv1.1,TLSv1.2  None                None
24    CAMELLIA128-SHA              TLSv1,TLSv1.1,TLSv1.2  None                None

Certificate: UNTRUSTED, 2048 bit, sha1WithRSAEncryption signature
TLS ticket lifetime hint: None
OCSP stapling: not supported
Cipher ordering: client
Curves ordering: server
Curves fallback: False

-j コマンドラインオプションでJSONにエクスポート:

root@kitploit:~
$ ./cipherscan --curves -j www.ebay.com | j
{
    "curves_fallback": "False",
    "serverside": "True",
    "target": "www.ebay.com:443",
    "utctimestamp": "2015-04-03T14:54:31.0Z",
    "ciphersuite": [
        {
            "cipher": "AES256-SHA",
            "ocsp_stapling": "False",
            "pfs": "None",
            "protocols": [
                "TLSv1",
                "TLSv1.1",
                "TLSv1.2"
            ],
            "pubkey": [
                "2048"
            ],
            "sigalg": [
                "sha1WithRSAEncryption"
            ],
            "ticket_hint": "None",
            "trusted": "True"
        },
        {
            "cipher": "ECDHE-RSA-DES-CBC3-SHA",
            "curves": [
                "prime256v1",
                "secp384r1",
                "secp224r1",
                "secp521r1"
            ],
            "curves_ordering": "server",
            "ocsp_stapling": "False",
            "pfs": "ECDH,P-256,256bits",
            "protocols": [
                "TLSv1",
                "TLSv1.1",
                "TLSv1.2"
            ],
            "pubkey": [
                "2048"
            ],
            "sigalg": [
                "sha1WithRSAEncryption"
            ],
            "ticket_hint": "None",
            "trusted": "True"
        }
    ]
}

設定の分析

Cipherscanの背景には、オペレーターがエンドポイントで適切なTLSを設定できるように支援するという動機があります。これをさらに支援するために、スクリプト analyze.py がcipherscanの結果を https://wiki.mozilla.org/Security/Server_Side_TLS のTLSガイドラインと比較し、レベルと推奨事項を出力します。

root@kitploit:~
$ ./analyze.py -t jve.linuxwall.info
jve.linuxwall.info:443 has intermediate tls

Changes needed to match the old level:
* consider enabling SSLv3
* add cipher DES-CBC3-SHA
* use a certificate with sha1WithRSAEncryption signature
* consider enabling OCSP Stapling

Changes needed to match the intermediate level:
* consider enabling OCSP Stapling

Changes needed to match the modern level:
* remove cipher AES128-GCM-SHA256
* remove cipher AES256-GCM-SHA384
* remove cipher AES128-SHA256
* remove cipher AES128-SHA
* remove cipher AES256-SHA256
* remove cipher AES256-SHA
* disable TLSv1
* consider enabling OCSP Stapling

上記の出力では、analyze.py はターゲット jve.linuxwall.info が中間設定レベルに一致していることを示しています。このサイトの管理者が最新レベルに到達したい場合、最新テストで失敗した項目を修正する必要があります。

analyze.py は適切なレベルが何であるべきかについて仮定をしません。サイト運営者は、サポートしたい互換性レベルに基づいて、どのレベルに一致させたいかを知っておくべきです。詳細については、再度 https://wiki.mozilla.org/Security/Server_Side_TLS を参照してください。

Nagios モードに関する注意: analyse.py は --nagios を指定してnagiosチェックとして実行できます。終了コードは設定の状態を表します:

  • 2 (critical) 不良TLSの場合
  • 1 (warning) 希望するレベルに一致しない場合
  • 0 (ok) 一致する場合。 cipherscanの完了には10秒以上かかることがあります。タイムアウトの問題を軽減するには、nagiosの外部で実行し、一時ファイルを介してデータを渡すことをお勧めします。

OpenSSL

Cipherscanは、Linux 64ビットおよびDarwin 64ビット向けにカスタムリリースのopensslを使用しています。OpenSSLは、Peter Mosmansがメンテナンスするカスタムブランチからビルドされており、上流にマージされていない多数のパッチが含まれています。こちらにあります: https://github.com/PeterMosmans/openssl

以下のコマンドを使用して自分でビルドすることもできます:

root@kitploit:~
git clone https://github.com/PeterMosmans/openssl.git --depth 1 -b 1.0.2-chacha
cd openssl
./Configure zlib no-shared experimental-jpake enable-md2 enable-rc5 \
enable-rfc3779 enable-gost enable-static-engine linux-x86_64
make depend
make
make report

静的にリンクされたバイナリは apps/openssl になります。

コントリビューター

  • Julien Vehent [email protected](原著者)
  • Hubert Kario [email protected](共同メンテナ)
  • Pepi Zawodsky [email protected]
  • Michael Zeltner [email protected]
  • Peter Mosmans [email protected]
  • Vincent Riquer [email protected]
  • Christian Stadelmann
  • Simon Deziel [email protected]
  • Aaron Zauner [email protected]
  • Mike [email protected]
  • Phil Cohen [email protected]
  • Samuel Kleiner [email protected]
  • Richard Soderberg https://twitter.com/floatingatoll
  • Adam Crosby [email protected]
ツールをダウンロード