sslscan:快速 SSL/TLS 扫描器!全参数详细教程!Kali Linux教程!黑客渗透教程!

news/2025/2/4 11:05:05/

简介

sslscan 查询 SSL/TLS 服务(如 HTTPS)并报告协议版本、密码套件、密钥交换、签名算法和正在使用的证书。这有助于用户从安全角度了解哪些参数较弱。

SSLSCAN还可以将结果输出到XML文件中,以便于外部程序。 

安装

源码安装

通过以下命令来进行克隆项目,建议请先提前挂好代理。不然可能会克隆不了。

git clone https://github.com/rbsec/sslscan.git

进入目录并查看

cd sslscan/
ls

安装

sudo make install

输入以下命令。如果出现这个界面就说明安装成功了。

sslscan -h

docker 安装

同上先克隆源码。

git clone https://github.com/rbsec/sslscan.git

进入目录。

cd sslscan/
ls

用以下方式构建容器,建议请先提前给docker配置好国内镜像或挂好代理。

sudo make docker

输入以下命令,如果出现这个界面就说明安装成功了。

sudo docker run --rm -ti sslscan:sslscan --help

APT 包管理器安装

Kali Linux 默认已安装好 sslscan 工具了。也可以通过以下命令进行安装。

sudo apt install sslscan

使用

1. --help

显示您正在阅读的帮助文本。显示选项摘要

sslscan --help

2. 常规使用

语法:sslscan [options] [host:port | host]sslscan 13.107.21.200:443

3. --targets=<file>

包含要检查的主机列表的文件。主机可以配备端口 (host:port)

包含要检查的主机列表的文件。可以为主机提供端口(即主机:端口)。每行一个目标

sslscan --targets=targets.txt

4. --sni-name=<name>

SNI 的主机名。对 SNI 使用不同的主机名。

sslscan --sni-name=qq.com 112.60.14.252:443

5. --ipv4, -4

仅使用 IPv4。强制 IPv4 DNS 解析。默认为尝试 IPv4,如果失败则返回 IPv6。

sslscan --ipv4 112.60.14.252:443

6. --ipv6, -6

仅使用 IPv6。强制 IPv6 DNS 解析。默认为尝试 IPv4,如果失败则返回 IPv6。

sslscan --ipv6 112.60.14.252:443

7. --show-certificate

显示完整证书信息。显示证书信息。

sslscan --show-certificate 112.60.14.252:443

8. --show-client-cas

显示用于 TLS 客户端身份验证的受信任 CA

显示服务器允许进行客户端身份验证的 CA 列表。对于 IIS/Schannel 服务器,将为空白。

sslscan --show-client-cas 112.60.14.252:443

9. --no-check-certificate

不警告弱证书算法或密钥。不标记使用弱算法(MD5 和 SHA-1)或短(<2048 位)RSA 密钥签名的证书

sslscan --no-check-certificate 112.60.14.252:443

10. --ocsp

从服务器请求 OCSP 响应。显示 OCSP 状态

sslscan --ocsp 112.60.14.252:443

11. --pk=<file>

包含私钥的文件或 PKCS#12 文件,包含私钥/证书对

包含私钥的文件或包含私钥/证书对的 PKCS#12 文件(由 MSIE 和 Netscape 生成)

12. --pkpass=<password>

私钥或 PKCS#12 文件的密码

sslscan --pk=client.key --pkpass=mypassword 112.60.14.252:443

 

13. --certs=<file>

包含 PEM/ASN1 格式的客户端证书的文件

sslscan --pk=client.key --certs=client.crt 112.60.14.252:443

14. --ssl2

仅检查是否启用了 SSLv2

sslscan --ssl2 112.60.14.252:443

 

15. --ssl3

仅检查是否启用了 SSLv3

sslscan --ssl3 112.60.14.252:443

 

16. --tls10

仅检查 TLSv1.0 密码

sslscan --tls10 112.60.14.252:443

 

17. --tls11

仅检查 TLSv1.1 密码

sslscan --tls11 112.60.14.252:443

18. --tls12

仅检查 TLSv1.2 密码

sslscan --tls12 112.60.14.252:443

 

19. --tls13

仅检查 TLSv1.3 密码

sslscan --tls13 112.60.14.252:443

20. --tlsall

仅检查 TLS 密码(所有版本)(版本 1.0、1.1、1.2 和 1.3)

sslscan --tlsall 112.60.14.252:443

21. --show-ciphers

显示支持的客户端密码。显示 sslscan 支持的完整密码列表

sslscan --show-ciphers 154.12.92.33:443

22. --show-cipher-ids

显示密码 ID。打印十六进制密码 ID。

sslscan --show-cipher-ids 154.12.92.33:443

23. --show-times

显示握手时间(以毫秒为单位)

显示每次握手所用的时间(以毫秒为单位)。请注意,每个密码只发出一个请求,并且 ClientHello 的大小不是恒定的,因此不应将其用于适当的基准测试或性能测试。

您可能还想使用 --no-cipher-details 使输出更清晰一些。

sslscan --show-times 154.12.92.33:443

24. --no-cipher-details

禁用 EC 曲线名称和 EDH/RSA 密钥长度输出。隐藏 NIST EC 曲线名称和 EDH/RSA 密钥长度。

sslscan --no-cipher-details 154.12.92.33:443

 

25. --no-ciphersuites

不检查支持的密码套件。不扫描支持的密码套件。

sslscan --no-ciphersuites 154.12.92.33:443

26. --no-compression

不检查 TLS 压缩 (CRIME)

sslscan --no-compression 154.12.92.33:443

 

27. --no-fallback

不检查 TLS Fallback SCSV。不检查 TLS 后备信令密码套件值(后备)。

sslscan --no-fallback 154.12.92.33:443

 

28. --no-groups

不枚举密钥交换组

sslscan --no-groups 154.12.92.33:443

29. --no-heartbleed

不检查 OpenSSL Heartbleed (CVE-2014-0160)

心脏出血(英语:Heartbleed),也简称为心血漏洞,是一个出现在加密程序库OpenSSL的安全漏洞,该程序库广泛用于实现互联网的传输层安全(TLS)协议。它于2012年被引入了软件中,2014年4月首次向公众披露。只要使用的是存在缺陷的OpenSSL实例,无论是服务器还是客户端,都可能因此而受到攻击。此问题的原因是在实现TLS的心跳扩展时没有对输入进行适当验证(缺少边界检查),因此漏洞的名称来源于“心跳”(heartbeat)。该程序错误属于缓冲区过滤,即可以读取的数据比应该允许读取的还多。HeartBleed主要存在与OpenSSL的1.0.1版本到1.0.1f版本。利用该漏洞,攻击者可以远程读取服务器内存中64K的数据,获取内存中的敏感信息。

sslscan --no-heartbleed 154.12.92.33:443

30. --no-renegotiation

不检查 TLS 重新协商

sslscan --no-renegotiation 154.12.92.33:443

31. --show-sigs

枚举签名算法

sslscan --show-sigs 154.12.92.33:443

32. --starttls-ftp

FTP 的 STARTTLS 设置

sslscan --starttls-ftp 154.12.92.33:443

 

33. --starttls-imap

IMAP 的 STARTTLS 设置

sslscan --starttls-imap 154.12.92.33:443

34. --starttls-irc

IRC 的 STARTTLS 设置

sslscan --starttls-irc 154.12.92.33:443

35. --starttls-ldap

LDAP 的 STARTTLS 设置

sslscan --starttls-ldap 154.12.92.33:443

36. --starttls-mysql

MYSQL 的 STARTTLS 设置

sslscan --starttls-mysql 154.12.92.33:443

37. --starttls-pop3

POP3 的 STARTTLS 设置

sslscan --starttls-pop3 154.12.92.33:443

38. --starttls-psql

为 PostgreSQL 设置 STARTTLS

sslscan --starttls-psql 154.12.92.33:443

39. --starttls-smtp

为 SMTP 设置 STARTTLS

sslscan --starttls-smtp 154.12.92.33:443

40. --starttls-xmpp

为 XMPP 设置 STARTTLS

sslscan --starttls-xmpp 154.12.92.33:443

 

41. --xmpp-server

使用服务器到服务器的 XMPP 握手。执行服务器到服务器的 XMPP 连接。如果 --starttls-xmpp 失败,请尝试此操作。

sslscan --xmpp-server 154.12.92.33:443

 

42. --rdp

在开始扫描前发送 RDP 前导码

sslscan --rdp 154.12.92.33:443

43. --bugs

启用 SSL 实施错误解决方法

sslscan --bugs 154.12.92.33:443

 

44. --no-colour

禁用彩色输出

sslscan --no-colour 154.12.92.33:443

 

45. --sleep=<msec>

在连接请求之间暂停。默认为禁用

连接之间暂停。对 STARTTLS SMTP 服务很有用,或任何其他执行速率限制的服务。默认值为禁用。

sslscan --sleep=100 154.12.92.33:443

46. --timeout=<sec>

设置套接字超时。默认为 3 秒

设置套接字超时。对于无法响应其不理解的密码的主机很有用。默认值为 3 秒。

sslscan --timeout=3 154.12.92.33:443

 

47. --connect-timeout=<sec>

设置连接超时。默认为 75 秒

设置初始连接超时。对于响应初始 connect() 较慢的主机很有用。默认值为 75 秒。

sslscan --connect-timeout=75 154.12.92.33:443

 

48. --verbose

显示详细输出

sslscan --verbose 154.12.92.33:443

49. --version

显示程序版本

sslscan --version

50. --xml=<file>

将结果输出到 XML 文件。使用 - 作为 STDOUT。

sslscan --xml=result.xml 154.12.92.33:443

示例

扫描本地 HTTPS 服务器

sslscan localhost
sslscan 127.0.0.1
sslscan 127.0.0.1:443
sslscan [::1]
sslscan [::1]:443

总结

sslscan 是一个强大的 SSL/TLS 扫描工具,能够检测服务器的加密协议、支持的加密套件及潜在的安全漏洞。通过其灵活的参数配置,可以轻松进行深度的 SSL/TLS 安全分析,帮助提高系统的安全性。

在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。

欢迎各位大佬,小白来找我交流。


http://www.ppmy.cn/news/1569213.html

相关文章

数据挖掘常用算法

文章目录 基于机器学习~~线性/逻辑回归~~树模型~~贝叶斯~~~~聚类~~集成算法神经网络~~支持向量机~~~~降维算法~~ 基于机器学习 线性/逻辑回归 类似单层神经网络 yk*xb 树模型 优点 可以做可视化分析速度快结果稳定 依赖前期对业务和数据的理解 贝叶斯 贝叶斯依赖先验概…

AI模型升级版0.04

我们可以进一步升级代码&#xff0c;结合最新的技术趋势&#xff0c;例如使用更先进的预训练模型&#xff08;如 https://ai.meta.com/llama/&#xff09;、引入更复杂的强化学习机制&#xff08;如 https://arxiv.org/pdf/1707.06347.pdf&#xff09;&#xff0c;并优化代码结…

git笔记-简单入门

git笔记 git是一个分布式版本控制系统&#xff0c;它的优点有哪些呢&#xff1f;分为以下几个部分 与集中式的版本控制系统比起来&#xff0c;不用担心单点故障问题&#xff0c;只需要互相同步一下进度即可。支持离线编辑&#xff0c;每一个人都有一个完整的版本库。跨平台支持…

HarmonyOS应用开发快速入门

本节内容将帮助开发者学习如何构建一个全新的HarmonyOS应用&#xff0c;学习使用DevEco Studio创建新项目、使用预览器预览页面、了解基础组件如Image、Text等。 文章目录 一、介绍二、创建一个新项目三、页面结构总览四、自定义文本视图五、创建Image组件 一、介绍 根据本教程…

【25考研】考研366是否能进北航计算机复试?该怎么准备?

366分对于北航来说可能有擦边进复试的风险&#xff0c;建议同学还是尽早准备复试&#xff0c;争取逆风翻盘&#xff0c;顺利上岸&#xff01; 北航计算机复试有机试&#xff0c;而且是先机试&#xff0c;第二天再进行复试。 一、复试内容 根据以往的经验&#xff0c;材料提交的…

【含文档+PPT+源码】基于小程序的智能停车管理系统设计与开发

项目介绍 本课程演示的是一款基于小程序的智能停车管理系统设计与开发&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套系统 3…

【Uniapp-Vue3】解决uni-popup弹窗在安全区显示透明问题

我们在使用uni-popup时&#xff0c;如果想要给弹出内容添加一个背景颜色&#xff0c;我们会发现在安全区域是不显示该背景颜色的。 首先根据如下的目录结构找到uni-popup.vue文件 在该文件中找到bottom配置&#xff0c;将红箭头所指代码注释掉 下面的安全区域就没有了&#xff…

联想拯救者Y9000P IRX8 2023 (82WK) 原厂Win11 家庭中文版系统 带一键还原功能 安装教程

安装完重建winre一键还原功能&#xff0c;和电脑出厂时的系统状态一模一样。自动机型专用软件&#xff0c;全部驱动&#xff0c;主题壁纸&#xff0c;自动激活&#xff0c;oem信息等。将电脑系统完全恢复到出厂时状态。 支持机型 (MTM) : 82WK 系统版本&#xff1a;Windows 1…