This script repeatedly initiates SSLv3/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.
Each cipher is shown with a strength rating: one of
unknown strength. The output line
Least strength shows the strength of the
weakest cipher offered. If you are auditing for weak ciphers, you would
want to look more closely at any port where
strong. The cipher strength database is in the file
nselib/data/ssl-ciphers, or you can use a different file
through the script argument
SSLv3/TLSv1 requires more effort to determine which ciphers and compression methods a server supports than SSLv2. A client lists the ciphers and compressors that it is capable of supporting, and the server will respond with a single cipher and compressor chosen, or a rejection notice.
Some servers use the client's ciphersuite ordering: they choose the first of the client's offered suites that they also support. Other servers prefer their own ordering: they choose their most preferred suite from among those the client offers. In the case of server ordering, the script makes extra probes to discover the server's sorted preference list. Otherwise, the list is sorted alphabetically.
This script is intrusive since it must initiate many connections to a server, and therefore is quite noisy.
A path to a file of cipher names and strength ratings
smbdomain, smbhash, smbnoguest, smbpassword, smbtype, smbusernameSee the documentation for the smbauth library.
nmap --script ssl-enum-ciphers -p 443 <host>
PORT STATE SERVICE REASON 443/tcp open https syn-ack | ssl-enum-ciphers: | SSLv3: | ciphers: | TLS_RSA_WITH_RC4_128_MD5 - strong | TLS_RSA_WITH_RC4_128_SHA - strong | TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong | compressors: | NULL | cipher preference: server | TLSv1.0: | ciphers: | TLS_RSA_WITH_RC4_128_MD5 - strong | TLS_RSA_WITH_RC4_128_SHA - strong | TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA - strong | compressors: | NULL | cipher preference: server |_ least strength: strong
Author: Mak Kolybabi <email@example.com>, Gabriel Lawrence
License: Same as Nmap--See http://nmap.org/book/man-legal.html