TestSSL.sh – 大规模评估SSL/TLS配置
你是否曾在Nessus扫描结果中看到类似下面的输出?最近我在一次渗透测试中就遇到了这种情况,当时我正苦恼如何验证所有这些SSL/TLS相关漏洞。
幸运的是,同事推荐我使用testssl.sh工具。这个shell脚本能全面检测SSL/TLS配置,显著提升了验证效率。它通过交互式探测服务端支持的协议和加密套件,生成详尽的评估报告(GitHub地址:https://github.com/drwetter/testssl.sh)。
基础使用
直接运行testssl.sh 目标地址
会输出带ANSI颜色代码的终端结果。但这种方式只能通过截图保存,不利于生成正式报告。我们可以通过Linux工具aha(ANSI HTML Adaptor)将输出转换为HTML格式。
大规模评估方案
实际评估时建议分两步操作:
- 使用for循环批量扫描目标IP,并设置超时限制:
|
|
- 扫描完成后用aha处理原始文本生成HTML报告,避免中途中断导致数据丢失。
高级技巧
- 从Nessus结果提取目标:使用EyeWitness工具的
--createtargets
参数 - 生成专项报告:通过egrep筛选特定漏洞(如SSLv2):
|
|
提示:发现可 exploitation的漏洞(如心脏滴血)时,务必进行实际漏洞验证以增强报告说服力。