Skip to content
cipherscan exploit

cipherscan exploit

Sploitus September 18, 2026

![cipherscan](

CipherScan 测试给定目标上所有主要 SSL 和 TLS 版本的密码套件排序。它还提取一些证书信息、TLS 选项、OCSP 装订等。CipherScan 是 `openssl s_client` 命令行的封装。

CipherScan 旨在运行于所有类 Unix 系统。它自带针对 Linux/64 和 Darwin/64 的 OpenSSL 构建。在其他平台上,它将使用操作系统提供的 openssl 版本(可能支持的密码有限),或通过 `-o` 命令行标志提供您自己的版本。

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

证书: trusted, 2048 bit, sha1WithRSAEncryption signature

darwin$ $ ./cipherscan --curves -starttls xmpp 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

证书: UNTRUSTED, 2048 bit, sha1WithRSAEncryption signature

$ ./cipherscan --curves -j | j

"utctimestamp": "2015-04-03T14:54:31.0Z",

开发 CipherScan 的初衷是帮助运维人员在其端点上配置良好的 TLS。为进一步支持这一点,脚本 `analyze.py` 将 CipherScan 的结果与 中的 TLS 指南进行比较,并输出一个等级和建议。

jve.linuxwall.info:443 has intermediate tls

在上面的输出中,`analyze.py` 表明目标 `jve.linuxwall.info` 符合中级配置。如果该站点的管理员希望达到现代等级,则应纠正现代测试中失败的项目。

`analyze.py` 不对什么是好的等级做任何假设。站点运维人员应根据他们想要支持的兼容性级别,知道他们想要匹配的等级。再次,请参考 了解更多信息。

关于 Nagios 模式的说明: `analyse.py` 可以使用 `--nagios` 作为 nagios 检查运行。退出代码将代表配置的状态:

* 0(正常)表示匹配。 cipherscan 可能需要超过 10 秒才能完成。为了缓解任何超时问题,您可能希望在 nagios 之外运行它,通过一些临时文件传递数据。

CipherScan 使用针对 Linux 64 位和 Darwin 64 位的自定义 openssl 发行版。OpenSSL 是从 Peter Mosmans 维护的自定义分支构建的,该分支包含许多未合并到上游的补丁。可以在此处找到:

git clone --depth 1 -b 1.0.2-chacha

./Configure zlib no-shared experimental-jpake enable-md2 enable-rc5 \

enable-rfc3779 enable-gost enable-static-engine linux-x86_64

* Julien Vehent [email protected] (原始作者)

* Hubert Kario [email protected] (共同维护者)

* Richard Soderberg

Extracted Entities