#language en #pragma keywords dcsec, nmap, qualys, scanning, ssl, sslscan, tls #pragma section-numbers 2 ## 20160504 AK ---- [[SSLScanner/CZ|česky]] | '''english''' ---- = TLS/SSL Scanner = <> The following sections present tools and sites for scanning or testing servers or clients for their respective TLS/SSL capabilities. == DCSec == The [[https://www.dcsec.uni-hannover.de|DCSEC research group]] at [[https://www.uni-hannover.de|Leibniz University Hannover]], Germany, provides a service that . "...gives you information on the SSL cipher suites your browser supports for securing HTTPS connections." Surf to https://cc.dcsec.uni-hannover.de with the browser to be examined. == GnuTLS == Install the [[http://www.gnutls.org|GnuTLS]] command line utilities and run these commands in a terminal: {{{ $ gnutls-cli --insecure --port 443 --print-cert --verbose HOSTNAME $ gnutls-cli-debug --port 443 --verbose HOSTNAME }}} See the [[http://www.gnutls.org/manual/html_node/index.html|documentation]] for further details. == Nmap Security Scanner == Use the [[http://nmap.org|Nmap Security Scanner]] with the `ssl-enum-ciphers` script at the command line {{{ $ nmap --script ssl-enum-ciphers -p 443 HOSTNAME }}} to scan a server. . "This script repeatedly initiates SSL/TLS connections, each time trying a new cipher or compressor while recording whether a host accepts or rejects it. The end result is a list of all the ciphers and compressors that a server accepts." {{{#!wiki note '''Please note:''' Running this script is intrusive since it must initiate ''many'' connections to a server, and therefore is quite noisy. It takes several minutes. }}} For further details see the [[http://nmap.org/docs.html|Nmap documentation]] and the script's source. === Example: secure.cacert.org === The following example examines the host `secure.cacert.org`: {{{#!highlight text numbers=on $ nmap --script ssl-enum-ciphers -p 443 secure.cacert.org Starting Nmap 6.00 ( http://nmap.org ) at 2014-10-21 21:06 CEST Nmap scan report for secure.cacert.org (213.154.225.246) Host is up (0.072s latency). PORT STATE SERVICE 443/tcp open https | ssl-enum-ciphers: | TLSv1.0 | Ciphers (12) | TLS_DHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_DHE_RSA_WITH_AES_256_CBC_SHA - unknown strength | TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA - unknown strength | TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA - unknown strength | TLS_DHE_RSA_WITH_SEED_CBC_SHA - unknown strength | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - unknown strength | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA - unknown strength | TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - unknown strength | TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - unknown strength | TLS_RSA_WITH_SEED_CBC_SHA - unknown strength | Compressors (1) | NULL | TLSv1.1 | Ciphers (12) | TLS_DHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_DHE_RSA_WITH_AES_256_CBC_SHA - unknown strength | TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA - unknown strength | TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA - unknown strength | TLS_DHE_RSA_WITH_SEED_CBC_SHA - unknown strength | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - unknown strength | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA - unknown strength | TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - unknown strength | TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - unknown strength | TLS_RSA_WITH_SEED_CBC_SHA - unknown strength | Compressors (1) | NULL | TLSv1.2 | Ciphers (24) | TLS_DHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 - strong | TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 - strong | TLS_DHE_RSA_WITH_AES_256_CBC_SHA - unknown strength | TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 - unknown strength | TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 - unknown strength | TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA - unknown strength | TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA - unknown strength | TLS_DHE_RSA_WITH_SEED_CBC_SHA - unknown strength | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - unknown strength | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - unknown strength | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - unknown strength | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA256 - strong | TLS_RSA_WITH_AES_128_GCM_SHA256 - strong | TLS_RSA_WITH_AES_256_CBC_SHA - unknown strength | TLS_RSA_WITH_AES_256_CBC_SHA256 - unknown strength | TLS_RSA_WITH_AES_256_GCM_SHA384 - unknown strength | TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - unknown strength | TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - unknown strength | TLS_RSA_WITH_SEED_CBC_SHA - unknown strength | Compressors (1) | NULL |_ Least strength = unknown strength Nmap done: 1 IP address (1 host up) scanned in 135.04 seconds }}} == OpenSSL == Install the [[https://www.openssl.org|OpenSSL]] command line tools and run this command in a terminal: {{{ $ openssl s_client -connect HOSTNAME:443 -prexit -showcerts -state -status -tlsextdebug -verify 10 }}} Further details might be available in the [[https://www.openssl.org/docs|OpenSSL documentation]]... :-) == Qualys SSL Labs == [[https://www.ssllabs.com|Qualys SSL Labs]] provides two tests: * Use the very detailled [[https://www.ssllabs.com/ssltest|SSL/TLS Server Test]] to scan a server. Note that this test uses the [[https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/included|certificate store]] maintained by Mozilla. * See the [[https://www.ssllabs.com/ssltest/viewMyClient.html|SSL/TLS Capabilities of Your Browser]]. === Example: secure.cacert.org === . {{attachment:qualys-secure.cacert.org.png}} == High_Tech bridge == The Swiss tester [[https://www.htbridge.com/ssl|HT Bridge]] rates the security of domains with web servers, similarly to the preceding Qualys tester. You enter a domain only to performing the test. The tester displays a results report on the same web page after the test is finished. /!\ Attention! This tester doesn't work with IPv6 addresses yet (12.2015) /!\ === An example: testing the cacert.org domain === {{attachment:HTbridge-CAcert.gif}} == sslscan == A wrapper over OpenSSL to list the ciphers usable on a TLS/SSL server. {{{#!wiki note '''Please note:''' The original project on http://sourceforge.net/projects/sslscan seems to be abandoned. A fork receiving [[https://github.com/DinoTools/sslscan/blob/master/Changelog|more attention]] can be found on https://github.com/DinoTools/sslscan. }}} === Example: www.cacert.org === The following example examines the host `www.cacert.org`: {{{#!highlight text numbers=on $ sslscan --no-failed www.cacert.org ___ ___| |___ ___ __ _ _ __ / __/ __| / __|/ __/ _` | '_ \ \__ \__ \ \__ \ (_| (_| | | | | |___/___/_|___/\___\__,_|_| |_| Version 1.8.2 http://www.titania.co.uk Copyright Ian Ventura-Whiting 2009 Testing SSL server www.cacert.org on port 443 Supported Server Cipher(s): Accepted TLSv1 256 bits ECDHE-RSA-AES256-SHA Accepted TLSv1 256 bits DHE-RSA-AES256-SHA Accepted TLSv1 256 bits DHE-RSA-CAMELLIA256-SHA Accepted TLSv1 256 bits AES256-SHA Accepted TLSv1 256 bits CAMELLIA256-SHA Accepted TLSv1 128 bits ECDHE-RSA-AES128-SHA Accepted TLSv1 128 bits DHE-RSA-AES128-SHA Accepted TLSv1 128 bits DHE-RSA-SEED-SHA Accepted TLSv1 128 bits DHE-RSA-CAMELLIA128-SHA Accepted TLSv1 128 bits AES128-SHA Accepted TLSv1 128 bits SEED-SHA Accepted TLSv1 128 bits CAMELLIA128-SHA Prefered Server Cipher(s): TLSv1 256 bits ECDHE-RSA-AES256-SHA SSL Certificate: Version: 2 Serial Number: 979116 Signature Algorithm: sha512WithRSAEncryption Issuer: /O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/emailAddress=support@cacert.org Not valid before: Apr 28 20:57:55 2014 GMT Not valid after: Apr 27 20:57:55 2016 GMT Subject: /C=AU/ST=NSW/L=Sydney/O=CAcert Inc./CN=www.cacert.org Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Public-Key: (2048 bit) Modulus: 00:c4:83:f3:42:d0:0b:ee:f9:3f:e2:1f:63:c5:a3: 84:e3:fd:c5:c2:a7:68:16:62:da:88:58:45:a5:dd: 41:16:c0:e7:9e:3b:2e:13:36:ee:b4:83:12:ca:a8: a6:a6:8d:6c:d6:e8:6e:67:f7:f3:90:bd:69:98:93: ee:14:2b:6f:2a:a4:b2:f6:6a:8f:e7:4c:9f:f5:f5: 8b:97:18:fc:3c:91:a4:6d:69:d2:b3:8b:e8:6a:e1: 0f:db:b1:90:b2:19:16:21:a6:ec:db:25:bf:23:c5: 6b:26:86:20:48:7b:c9:78:38:d3:dd:e4:eb:d5:a9: a5:0b:32:53:66:af:bd:8b:ac:f1:fb:fc:f4:f6:67: b9:a2:d3:fe:61:6d:eb:f3:f2:7d:55:92:d1:74:ea: ab:82:4e:78:52:71:8e:e0:46:14:a5:1d:cc:89:52: 52:35:5a:0b:b1:16:8d:50:06:3c:07:c7:a1:d5:79: 91:51:8c:05:dd:25:c5:06:49:82:11:e2:61:fa:f1: af:5b:34:e8:cb:4d:cf:2d:ba:e7:35:c0:de:f3:27: e4:ef:a5:d4:20:3d:9e:37:cd:48:09:2c:29:23:9b: bd:d7:aa:27:18:73:6c:b8:b7:54:98:72:f4:16:0c: 9a:95:26:90:4e:6e:9c:9b:54:75:ca:2b:79:12:05: c1:cb Exponent: 65537 (0x10001) X509v3 Extensions: X509v3 Basic Constraints: critical CA:FALSE X509v3 Key Usage: critical Digital Signature, Key Encipherment, Key Agreement X509v3 Extended Key Usage: TLS Web Client Authentication, TLS Web Server Authentication, Netscape Server Gated Crypto, Microsoft Server Gated Crypto Authority Information Access: OCSP - URI:http://ocsp.cacert.org/ X509v3 CRL Distribution Points: Full Name: URI:http://crl.cacert.org/revoke.crl X509v3 Subject Alternative Name: DNS:www.cacert.org, othername:, DNS:secure.cacert.org, othername:, DNS:wwwmail.cacert.org, othername:, DNS:cacert.org, othername:, DNS:www.cacert.net, othername:, DNS:cacert.net, othername:, DNS:www.cacert.com, othername:, DNS:cacert.com, othername: Verify Certificate: unable to get local issuer certificate }}} == tlsfun == There are some test on [[https://tlsfun.de|tlsfun.de]] created by [[https://hboeck.de|Hanno Böck]]. == ZMap == University of Michigan scientists developed [[https://zmap.io|ZMap]], an open-source network scanner that easily can perform Internet-wide network studies. * https://zmap.io/sslv3 - POODLE Attack and SSLv3 Deployment ---- . CategorySoftware