-
-
SSLyze:快速全面的SSL安全扫描器
-
发表于: 2016-3-18 10:33 1827
-
新闻链接:158K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3k6J5k6h3g2T1N6h3k6Q4x3X3g2U0L8$3#2Q4x3V1k6@1L8$3!0D9M7#2)9J5c8U0V1&6x3e0f1I4i4K6u0W2K9s2c8E0L8l9`.`.
新闻时间:2016-03-17
新闻正文:
SSLyze是一个Python打造的工具,它可以分析我们用于连接某服务器的SSL配置。其设计出来就是为了帮助组织和测试人员,快速发现会影响他们SSL服务器的错误配置。
主要特点
多进程+多线程扫描:速度会非常快。
SSLyze也可以作为库文件,从python直接调用运行扫描和处理结果。
性能测试:session resumption和TLS票据支持。
安全测试:弱密码套件,不安全的renegotiation,CRIME、心脏滴血攻击。
服务器证书检查,通过OCSP stapling进行SSL撤销检查。
支持SMTP、XMPP、LDAP、POP、IMAP、RDP、PostGres、FTP协议的StartTLS握手。
支持扫描服务器时,用于交互验证的客户端证书。
扫描结果可以写入XML或者JSON文件进行进一步处理。
开始使用
下载地址:c1dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6F1j5h3u0D9j5g2)9J5k6r3x3H3k6o6y4Q4x3V1k6K6M7$3I4&6P5X3f1`.
SSLyze可以通过pip直接安装:
pip install sslyze
直接从repository库里获取代码,然后进行安装也是很方便的。
git clone 0dbK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6F1j5h3u0D9j5g2)9J5k6r3x3H3k6o6y4Q4x3V1k6K6M7$3I4&6P5X3g2Q4x3X3g2Y4K9i4b7`.
cd sslyze
pip install -r requirements. txt --target./lib
然后我们可以使用命令行工具来扫描服务器了:
python sslyze_cli. py --regular13dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4W2S2K9r3!0G2i4K6u0W2j5$3!0E0i4K6y4m8y4o6b7K6 1baN6%4N6%4i4K6u0W2k6$3!0G2k6$3I4W2i4K6u0W2j5$3!0E0
SSLyze已经在以下平台通过测试:
Windows 7 (32 and 64 bits)
Debian 7 (32 and 64 bits)
OS X El Capitan
作为库文件使用
从SSLyze v0.13.0开始,它就可以被当作直接扫描和处理结果的python模块。
# Script to get the list of SSLv3 ciphersuites supported by smtp.gmail.com
hostname = 'smtp.gmail.com'
try:
# First we must ensure that the server is reachable
server_info = ServerConnectivityInfo(hostname=hostname, port=587,
tls_wrapped_protocol=TlsWrappedProtocolEnum.STARTTLS_SMTP)
server_info.test_connectivity_to_server()
except ServerConnectivityError as e:
raise RuntimeError('Error when connecting to {}: {}'.format(hostname,e.error_msg))
# Get the list of available plugins
sslyze_plugins = PluginsFinder()
# Create a process pool to run scanningcommands concurrently
plugins_process_pool =PluginsProcessPool(sslyze_plugins)
# Queue a scan command to get the server'scertificate
plugins_process_pool.queue_plugin_task(server_info,'sslv3')
# Process the result and print thecertificate CN
for plugin_result inplugins_process_pool.get_results():
if plugin_result.plugin_command == 'sslv3':
# Do something with the result
print 'SSLV3 cipher suites'
for cipher in plugin_result.accepted_cipher_list:
print ' {}'.format(cipher.name)
关于扫描的详细命令,可参见sslyze_cly. py –help命令。
他们运行时都能使用python的多进程模块,每条命令都会返回一个PluginResult对象,其中包含正在扫描的命令的结果(比如–tlsv1的密码套件列表),这些属性对于每个插件和命令都是单独隶属的,但是在每个插件的模块里都有记录。
想要知道更多情况么?请查看api_sample.py的Python API示例。
Windows可执行文件
在Release处有个预编译的windows可执行文件,你也可以通过下面的方法来生成:
python.exe setup_py2exe.py py2exe
*参考来源:kitploit,FB小编dawner编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)
新闻时间:2016-03-17
新闻正文:
SSLyze是一个Python打造的工具,它可以分析我们用于连接某服务器的SSL配置。其设计出来就是为了帮助组织和测试人员,快速发现会影响他们SSL服务器的错误配置。
主要特点
多进程+多线程扫描:速度会非常快。
SSLyze也可以作为库文件,从python直接调用运行扫描和处理结果。
性能测试:session resumption和TLS票据支持。
安全测试:弱密码套件,不安全的renegotiation,CRIME、心脏滴血攻击。
服务器证书检查,通过OCSP stapling进行SSL撤销检查。
支持SMTP、XMPP、LDAP、POP、IMAP、RDP、PostGres、FTP协议的StartTLS握手。
支持扫描服务器时,用于交互验证的客户端证书。
扫描结果可以写入XML或者JSON文件进行进一步处理。
开始使用
下载地址:c1dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6F1j5h3u0D9j5g2)9J5k6r3x3H3k6o6y4Q4x3V1k6K6M7$3I4&6P5X3f1`.
SSLyze可以通过pip直接安装:
pip install sslyze
直接从repository库里获取代码,然后进行安装也是很方便的。
git clone 0dbK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6F1j5h3u0D9j5g2)9J5k6r3x3H3k6o6y4Q4x3V1k6K6M7$3I4&6P5X3g2Q4x3X3g2Y4K9i4b7`.
cd sslyze
pip install -r requirements. txt --target./lib
然后我们可以使用命令行工具来扫描服务器了:
python sslyze_cli. py --regular13dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4W2S2K9r3!0G2i4K6u0W2j5$3!0E0i4K6y4m8y4o6b7K6 1baN6%4N6%4i4K6u0W2k6$3!0G2k6$3I4W2i4K6u0W2j5$3!0E0
SSLyze已经在以下平台通过测试:
Windows 7 (32 and 64 bits)
Debian 7 (32 and 64 bits)
OS X El Capitan
作为库文件使用
从SSLyze v0.13.0开始,它就可以被当作直接扫描和处理结果的python模块。
# Script to get the list of SSLv3 ciphersuites supported by smtp.gmail.com
hostname = 'smtp.gmail.com'
try:
# First we must ensure that the server is reachable
server_info = ServerConnectivityInfo(hostname=hostname, port=587,
tls_wrapped_protocol=TlsWrappedProtocolEnum.STARTTLS_SMTP)
server_info.test_connectivity_to_server()
except ServerConnectivityError as e:
raise RuntimeError('Error when connecting to {}: {}'.format(hostname,e.error_msg))
# Get the list of available plugins
sslyze_plugins = PluginsFinder()
# Create a process pool to run scanningcommands concurrently
plugins_process_pool =PluginsProcessPool(sslyze_plugins)
# Queue a scan command to get the server'scertificate
plugins_process_pool.queue_plugin_task(server_info,'sslv3')
# Process the result and print thecertificate CN
for plugin_result inplugins_process_pool.get_results():
if plugin_result.plugin_command == 'sslv3':
# Do something with the result
print 'SSLV3 cipher suites'
for cipher in plugin_result.accepted_cipher_list:
print ' {}'.format(cipher.name)
关于扫描的详细命令,可参见sslyze_cly. py –help命令。
他们运行时都能使用python的多进程模块,每条命令都会返回一个PluginResult对象,其中包含正在扫描的命令的结果(比如–tlsv1的密码套件列表),这些属性对于每个插件和命令都是单独隶属的,但是在每个插件的模块里都有记录。
想要知道更多情况么?请查看api_sample.py的Python API示例。
Windows可执行文件
在Release处有个预编译的windows可执行文件,你也可以通过下面的方法来生成:
python.exe setup_py2exe.py py2exe
*参考来源:kitploit,FB小编dawner编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)
赞赏
赞赏
雪币:
留言: