Portcullis Labs - perl http://labs.portcullis.co.uk Labs Portcullis updates. en Labs portcullis Fri, 15 Feb 2013 16:55:41 GMT http://backend.userland.com/rss 60 Labs Portcullis hhttp://labs.portcullis.co.uk/mg/logo.gif http://labs.portcullis.co.uk UNIXSocketScanner | Content Thu, 31 Jan 2013 01:40:07 GMT http://labs.portcullis.co.uk/application/unixsocketscanner/ <p>UNIX socket scanner.</p> <p>Features:</p> <ul> <li>Multi threaded</li> <li>Supports both internal probes format and nmap probes format</li> </ul> <p>&nbsp;</p> rdp-sec-check | Content Sun, 15 Jul 2012 15:17:44 GMT http://labs.portcullis.co.uk/application/rdp-sec-check/ <p>rdp-sec-check is a tool to remotely check if certain security features of an RDP service (AKA Terminal Services) have been enabled. &nbsp;It does not require authentication, only network connectivity to TCP port 3389.</p> <p>It can determine many (though not quite all) of the security settings from the RDP-Tcp Properties | General tab:</p> <ul> <li>Check which security layers are supported by the service: Standard RDP Security, TLSv1.0, CredSSP</li> <li>For Standard RDP Security it detects the level of encryption supported: 40-bit, 56-bit, 128-bit, FIPS</li> </ul> <p>The following potential security issues are flagged if present:</p> <ul> <li>The service supports Standard RDP Security. &nbsp;This is known to be vulnerable to an active Man in the Middle attack.</li> <li>The service supports weak encryption (40-bit or 56-bit).</li> <li>The service does not mandate Network Level Authentication (NLA). &nbsp;NLA can help to prevent certain types of Denial of Service attack.</li> <li>The service supports FIPS encryption but doesn't mandate it - may only be interesting for jurisdictions where FIPS is required</li> </ul> <h2>Dependencies</h2> <p>rdp-sec-check is a simple PERL script that requires one module from CPAN. &nbsp;Run 'cpan' as root then install the Encoding::BER module:</p> <pre> # cpan</pre> <pre> cpan[1]&gt; install Encoding::BER</pre> <h2>Output Example #1: An old Windows 2000 RDP Service</h2> <pre> $ rdp-sec-check.pl 10.0.0.94 Starting rdp-sec-check v0.8-beta ( http://labs.portcullis.co.uk/application/rdp-sec-check/ ) at Mon Jul 9 13:34:38 2012 Target: 10.0.0.94 IP: 10.0.0.94 Port: 3389 [+] Checking supported protocols [-] Checking if RDP Security (PROTOCOL_RDP) is supported...Negotiation ignored - old Windows 2000/XP/2003 system? [-] Checking if TLS Security (PROTOCOL_SSL) is supported...Negotiation ignored - old Windows 2000/XP/2003 system? [-] Checking if CredSSP Security (PROTOCOL_HYBRID) is supported [uses NLA]...Negotiation ignored - old Windows 2000/XP/2003 system?? [+] Checking RDP Security Layer [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_NONE...Not supported [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_40BIT...Supported. Server encryption level: ENCRYPTION_LEVEL_CLIENT_COMPATIBLE [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_128BIT...Not supported [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_56BIT...Supported. Server encryption level: ENCRYPTION_LEVEL_CLIENT_COMPATIBLE [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_FIPS...Not supported [+] Summary of protocol support [-] 10.0.0.94:3389 supports PROTOCOL_RDP : TRUE [-] 10.0.0.94:3389 supports PROTOCOL_HYBRID: FALSE [-] 10.0.0.94:3389 supports PROTOCOL_SSL : FALSE [+] Summary of RDP encryption support [-] 10.0.0.94:3389 has encryption level: ENCRYPTION_LEVEL_CLIENT_COMPATIBLE [-] 10.0.0.94:3389 supports ENCRYPTION_METHOD_NONE : FALSE [-] 10.0.0.94:3389 supports ENCRYPTION_METHOD_40BIT : TRUE [-] 10.0.0.94:3389 supports ENCRYPTION_METHOD_128BIT : FALSE [-] 10.0.0.94:3389 supports ENCRYPTION_METHOD_56BIT : TRUE [-] 10.0.0.94:3389 supports ENCRYPTION_METHOD_FIPS : FALSE [+] Summary of security issues [-] 10.0.0.94:3389 has issue NLA_NOT_SUPPORTED_DOS [-] 10.0.0.94:3389 has issue ONLY_RDP_SUPPORTED_MITM [-] 10.0.0.94:3389 has issue WEAK_RDP_ENCRYPTION_SUPPORTED rdp-sec-check v0.8-beta completed at Mon Jul 9 13:34:39 2012 </pre> <h2>Output Example #2: A Windows 2003 SP0 RDP Service</h2> <pre> $ rdp-sec-check.pl 10.0.0.93 Starting rdp-sec-check v0.8-beta ( http://labs.portcullis.co.uk/application/rdp-sec-check/ ) at Mon Jul 9 13:35:34 2012 Target: 10.0.0.93 IP: 10.0.0.93 Port: 3389 [+] Checking supported protocols [-] Checking if RDP Security (PROTOCOL_RDP) is supported...Negotiation ignored - old Windows 2000/XP/2003 system? [-] Checking if TLS Security (PROTOCOL_SSL) is supported...Negotiation ignored - old Windows 2000/XP/2003 system? [-] Checking if CredSSP Security (PROTOCOL_HYBRID) is supported [uses NLA]...Negotiation ignored - old Windows 2000/XP/2003 system?? [+] Checking RDP Security Layer [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_NONE...Not supported [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_40BIT...Supported. Server encryption level: ENCRYPTION_LEVEL_CLIENT_COMPATIBLE [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_128BIT...Supported. Server encryption level: ENCRYPTION_LEVEL_CLIENT_COMPATIBLE [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_56BIT...Supported. Server encryption level: ENCRYPTION_LEVEL_CLIENT_COMPATIBLE [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_FIPS...Supported. Server encryption level: ENCRYPTION_LEVEL_CLIENT_COMPATIBLE [+] Summary of protocol support [-] 10.0.0.93:3389 supports PROTOCOL_RDP : TRUE [-] 10.0.0.93:3389 supports PROTOCOL_HYBRID: FALSE [-] 10.0.0.93:3389 supports PROTOCOL_SSL : FALSE [+] Summary of RDP encryption support [-] 10.0.0.93:3389 has encryption level: ENCRYPTION_LEVEL_CLIENT_COMPATIBLE [-] 10.0.0.93:3389 supports ENCRYPTION_METHOD_NONE : FALSE [-] 10.0.0.93:3389 supports ENCRYPTION_METHOD_40BIT : TRUE [-] 10.0.0.93:3389 supports ENCRYPTION_METHOD_128BIT : TRUE [-] 10.0.0.93:3389 supports ENCRYPTION_METHOD_56BIT : TRUE [-] 10.0.0.93:3389 supports ENCRYPTION_METHOD_FIPS : TRUE [+] Summary of security issues [-] 10.0.0.93:3389 has issue NLA_NOT_SUPPORTED_DOS [-] 10.0.0.93:3389 has issue FIPS_SUPPORTED_BUT_NOT_MANDATED [-] 10.0.0.93:3389 has issue ONLY_RDP_SUPPORTED_MITM [-] 10.0.0.93:3389 has issue WEAK_RDP_ENCRYPTION_SUPPORTED </pre> <h2>Output Example #3: A typical Windows 2003 RDP Service</h2> <pre> $ rdp-sec-check.pl 10.0.0.111 Starting rdp-sec-check v0.8-beta ( http://labs.portcullis.co.uk/application/rdp-sec-check/ ) at Mon Jul 9 13:36:56 2012 Target: 10.0.0.111 IP: 10.0.0.111 Port: 3389 [+] Checking supported protocols [-] Checking if RDP Security (PROTOCOL_RDP) is supported...Supported [-] Checking if TLS Security (PROTOCOL_SSL) is supported...Not supported - SSL_NOT_ALLOWED_BY_SERVER [-] Checking if CredSSP Security (PROTOCOL_HYBRID) is supported [uses NLA]...Not supported - SSL_NOT_ALLOWED_BY_SERVER [+] Checking RDP Security Layer [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_NONE...Not supported [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_40BIT...Supported. Server encryption level: ENCRYPTION_LEVEL_CLIENT_COMPATIBLE [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_128BIT...Supported. Server encryption level: ENCRYPTION_LEVEL_CLIENT_COMPATIBLE [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_56BIT...Supported. Server encryption level: ENCRYPTION_LEVEL_CLIENT_COMPATIBLE [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_FIPS...Supported. Server encryption level: ENCRYPTION_LEVEL_CLIENT_COMPATIBLE [+] Summary of protocol support [-] 10.0.0.111:3389 supports PROTOCOL_RDP : TRUE [-] 10.0.0.111:3389 supports PROTOCOL_HYBRID: FALSE [-] 10.0.0.111:3389 supports PROTOCOL_SSL : FALSE [+] Summary of RDP encryption support [-] 10.0.0.111:3389 has encryption level: ENCRYPTION_LEVEL_CLIENT_COMPATIBLE [-] 10.0.0.111:3389 supports ENCRYPTION_METHOD_NONE : FALSE [-] 10.0.0.111:3389 supports ENCRYPTION_METHOD_40BIT : TRUE [-] 10.0.0.111:3389 supports ENCRYPTION_METHOD_128BIT : TRUE [-] 10.0.0.111:3389 supports ENCRYPTION_METHOD_56BIT : TRUE [-] 10.0.0.111:3389 supports ENCRYPTION_METHOD_FIPS : TRUE [+] Summary of security issues [-] 10.0.0.111:3389 has issue NLA_NOT_SUPPORTED_DOS [-] 10.0.0.111:3389 has issue FIPS_SUPPORTED_BUT_NOT_MANDATED [-] 10.0.0.111:3389 has issue ONLY_RDP_SUPPORTED_MITM [-] 10.0.0.111:3389 has issue WEAK_RDP_ENCRYPTION_SUPPORTED rdp-sec-check v0.8-beta completed at Mon Jul 9 13:36:56 2012 </pre> <h2>Output Example #4: A well configured Windows 2008 RDP Service</h2> <pre> $ rdp-sec-check.pl 10.0.0.21 Starting rdp-sec-check v0.8-beta ( http://labs.portcullis.co.uk/application/rdp-sec-check/ ) at Mon Jul 9 13:32:30 2012 Target: 10.0.0.21 IP: 10.0.0.21 Port: 3389 [+] Checking supported protocols [-] Checking if RDP Security (PROTOCOL_RDP) is supported...Not supported - HYBRID_REQUIRED_BY_SERVER [-] Checking if TLS Security (PROTOCOL_SSL) is supported...Not supported - HYBRID_REQUIRED_BY_SERVER [-] Checking if CredSSP Security (PROTOCOL_HYBRID) is supported [uses NLA]...Supported [+] Checking RDP Security Layer [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_NONE...Not supported [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_40BIT...Not supported [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_128BIT...Not supported [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_56BIT...Not supported [-] Checking RDP Security Layer with encryption ENCRYPTION_METHOD_FIPS...Not supported [+] Summary of protocol support [-] 10.0.0.21:3389 supports PROTOCOL_RDP : FALSE [-] 10.0.0.21:3389 supports PROTOCOL_HYBRID: TRUE [-] 10.0.0.21:3389 supports PROTOCOL_SSL : FALSE [+] Summary of RDP encryption support [-] 10.0.0.21:3389 supports ENCRYPTION_METHOD_NONE : FALSE [-] 10.0.0.21:3389 supports ENCRYPTION_METHOD_40BIT : FALSE [-] 10.0.0.21:3389 supports ENCRYPTION_METHOD_128BIT : FALSE [-] 10.0.0.21:3389 supports ENCRYPTION_METHOD_56BIT : FALSE [-] 10.0.0.21:3389 supports ENCRYPTION_METHOD_FIPS : FALSE [+] Summary of security issues rdp-sec-check v0.8-beta completed at Mon Jul 9 13:32:31 2012</pre> </pre> ssl-cipher-suite-enum | Content Wed, 13 Feb 2013 12:11:30 GMT http://labs.portcullis.co.uk/application/ssl-cipher-suite-enum/ <p>ssl-cipher-suite-enum is a tool for enumerating the SSL cipher suites supported by network services (principally HTTPS). &nbsp;</p> <h2>Key Features</h2> <ul> <li>Support for legacy and newer versions of SSL/TLS:&nbsp;SSLv2.0,&nbsp;TLSv1.0/SSLv3.0,&nbsp;TLSv1.1,&nbsp;TLSv1.2</li> <li>Support for SSL testing over SMTP (STARTTLS), RDP and FTP (AUTH SSL)</li> <li>Flagging of common security issues on a per-host and per-cipher-suite basis (see below for list)</li> <li>Works even when the service requires a client SSL certificate</li> <li>Bruteforces SSLv3+ cipher suites - rather than relying on a fixed list of cipher suites that were known at the time of writing</li> <li>No reliance on SSL libraries - which can cause false negatives</li> <li>Human readable and greppable output - to support reporting and automation</li> <li>Fast scan rate - 1000 connections/second over the LAN</li> <li>Option to throttle connection speed</li> <li>Optimised scanning - group unpopular cipher sites into a single handshake to reduce the number of required connections</li> <li>Option to logging all output to a file</li> <li>Support for scanning a list of hosts</li> <li>Handling of servers that accept cipher suites the client didn't offer - rare but it does happen!</li> </ul> <h2>Security Issues Identified</h2> <p>ssl-cipher-suite-enum&nbsp;identifies the following common security issues relating to SSL:</p> <ul> <li>SSLv2 being supported - being vulnerable to a downgrade attack and other problems inherent to this version of the protocol.</li> <li>Cipher suites that use symmetric encryption where the key length is less than 128-bits.</li> <li>Support of key exchange algorithms that don't support forward secrecy - or equivalently, cipher suites that allow sniffed traffic to be retrospectively decrypted if the private SSL key were to be compromised.</li> <li>Anonymous Diffie Hellman key exchanges - which allow Man in the Middle attacks</li> <li>Cipher suites / protocol combinations that are vulnerable to the BEAST attack - i.e. combinations that would leave the client-&gt;server stream open to the BEAST attack</li> </ul> <h2>Overview</h2> <p>The tool performs a similar function to <a href="https://www.titania-security.com/labs/sslscan">sslscan</a>, <a href="http://www.thc.org/root/tools/">THCSSLCheck</a> and <a href="http://code.google.com/p/sslyze/">sslyze</a>, but differs by crafting part of the SSL handshake instead of using an SSL library to establish a full connection. For SSLv3.0 and above, cipher suites are bruteforced (each cipher suite is represented as a 2 byte field: generally 0x00?? or 0xC0?? - yielding 512 possible values).&nbsp; For SSLv2 only known cipher suites are tried - the search space seems much larger v2 cipher suites and precludes timely bruteforcing.<br /> <br /> The handshake-crafting approach provides some significant advantages over library-based tools.&nbsp; Libraries either become outdated and therefore incapable of testing for new protocols such as TLSv1.2 or exotic cipher suites; or they are updated and lose support for older protocols - namely SSLv2.&nbsp; This can be a significant cause of false negative results when performing vulnerability assessments.<br /> <br /> ssl-cipher-suite-enum therefore aims to ensure that you can always identify all support cipher suites and that you never miss the fact that SSLv2 is supported.&nbsp; There is, of course an increased risk of false positive results, though: failing to use an SSL library means that the connection is never fully established.&nbsp; ssl-cipher-suit-enum will not detect that an application refuses to talk over weaker cipher suites or that full connection fails for some other reason - such as a client certificate being required.</p> <p>Also see the <a href="/application/ssl-cipher-suite-enum/faq/">FAQ</a> page.</p> <h2>Example Output 1: Old Host Supporting SSLv2</h2> <pre> $ ssl-cipher-suite-enum.pl 127.0.0.1 Starting ssl-cipher-enum v0.4-beta ( http://labs.portcullis.co.uk/application/ssl-cipher-suite-enum/ ) at Tue Jul 3 14:48:21 2012 [+] Scanning 1 hosts === Scan Info === Target: 127.0.0.1 IP: 127.0.0.1 Port: 443 Protocols: SSLv2.0,SSLv3.0,TLSv1.0,TLSv1.1,TLSv1.2 Scan Rate: unlimited === Testing protocol SSLv2.0 === [+] Cipher suite supported on 127.0.0.1:443: SSLv2.0 RC4_128_WITH_MD5[010080] SSL2_INSEC,NO_PFS [+] Cipher suite supported on 127.0.0.1:443: SSLv2.0 RC4_128_EXPORT40_WITH_MD5[020080] SSL2_INSEC,NO_PFS,WEAK_ENC [+] Cipher suite supported on 127.0.0.1:443: SSLv2.0 RC2_128_CBC_WITH_MD5[030080] SSL2_INSEC,BEAST,NO_PFS [+] Cipher suite supported on 127.0.0.1:443: SSLv2.0 RC2_128_CBC_EXPORT40_WITH_MD5[040080] SSL2_INSEC,BEAST,NO_PFS,WEAK_ENC [+] Cipher suite supported on 127.0.0.1:443: SSLv2.0 DES_64_CBC_WITH_MD5[060040] SSL2_INSEC,BEAST,NO_PFS,WEAK_ENC [+] Cipher suite supported on 127.0.0.1:443: SSLv2.0 DES_192_EDE3_CBC_WITH_MD5[0700c0] SSL2_INSEC,BEAST,NO_PFS [+] 6 SSLv2.0 cipher suites supported [V] 127.0.0.1:443 - Some clients could be vulnerable to BEAST attack - if HTTPS service [V] 127.0.0.1:443 - Some connections might be protected with a weak (&lt;128-bit) symmetric encryption key === Testing protocol SSLv3.0 === [+] 0 SSLv3.0 cipher suites supported === Testing protocol TLSv1.0 === [+] 0 TLSv1.0 cipher suites supported === Testing protocol TLSv1.1 === [+] 0 TLSv1.1 cipher suites supported === Testing protocol TLSv1.2 === [+] 0 TLSv1.2 cipher suites supported [+] Summary of support cipher suites for 127.0.0.1:443 SSLv2.0: * RC4_128_WITH_MD5 * RC4_128_EXPORT40_WITH_MD5 * RC2_128_CBC_WITH_MD5 * RC2_128_CBC_EXPORT40_WITH_MD5 * DES_64_CBC_WITH_MD5 * DES_192_EDE3_CBC_WITH_MD5 [+] Summary of weakness &quot;BEAST&quot; for 127.0.0.1:443 SSLv2.0: * RC2_128_CBC_WITH_MD5 * RC2_128_CBC_EXPORT40_WITH_MD5 * DES_64_CBC_WITH_MD5 * DES_192_EDE3_CBC_WITH_MD5 [+] Summary of weakness &quot;NO_PFS&quot; for 127.0.0.1:443 SSLv2.0: * RC4_128_WITH_MD5 * RC4_128_EXPORT40_WITH_MD5 * RC2_128_CBC_WITH_MD5 * RC2_128_CBC_EXPORT40_WITH_MD5 * DES_64_CBC_WITH_MD5 * DES_192_EDE3_CBC_WITH_MD5 [+] Summary of weakness &quot;SSL2_INSEC&quot; for 127.0.0.1:443 SSLv2.0: * RC4_128_WITH_MD5 * RC4_128_EXPORT40_WITH_MD5 * RC2_128_CBC_WITH_MD5 * RC2_128_CBC_EXPORT40_WITH_MD5 * DES_64_CBC_WITH_MD5 * DES_192_EDE3_CBC_WITH_MD5 [+] Summary of weakness &quot;WEAK_ENC&quot; for 127.0.0.1:443 SSLv2.0: * RC4_128_EXPORT40_WITH_MD5 * RC2_128_CBC_EXPORT40_WITH_MD5 * DES_64_CBC_WITH_MD5 === Scan Complete === [+] ssl-cipher-enum v0.4-beta completed at Tue Jul 3 14:48:22 2012. 918 connections in 1 secs. <h2 style="font-family: Arial, Verdana, sans-serif; white-space: normal; ">Example Output 2: Average Modern SSL Service</h2>$ ssl-cipher-suite-enum.pl localhost:443 Starting ssl-cipher-enum v0.4-beta ( http://labs.portcullis.co.uk/application/ssl-cipher-suite-enum/ ) at Tue Jul 3 14:48:41 2012 [+] Scanning 1 hosts === Scan Info === Target: localhost IP: 127.0.0.2 Port: 443 Protocols: SSLv2.0,SSLv3.0,TLSv1.0,TLSv1.1,TLSv1.2 Scan Rate: unlimited === Testing protocol SSLv2.0 === [+] 0 SSLv2.0 cipher suites supported === Testing protocol SSLv3.0 === [+] Cipher suite supported on 127.0.0.2:443: SSLv3.0 RSA_RC4_128_SHA[0005] NO_PFS [+] Cipher suite supported on 127.0.0.2:443: SSLv3.0 RSA_DES_192_CBC3_SHA[000a] BEAST,NO_PFS [+] Cipher suite supported on 127.0.0.2:443: SSLv3.0 EDH_RSA_DES_192_CBC3_SHA[0016] BEAST [+] Cipher suite supported on 127.0.0.2:443: SSLv3.0 RSA_WITH_AES_128_SHA[002f] BEAST,NO_PFS [+] Cipher suite supported on 127.0.0.2:443: SSLv3.0 DHE_RSA_WITH_AES_128_SHA[0033] BEAST [+] Cipher suite supported on 127.0.0.2:443: SSLv3.0 RSA_WITH_AES_256_SHA[0035] BEAST,NO_PFS [+] Cipher suite supported on 127.0.0.2:443: SSLv3.0 DHE_RSA_WITH_AES_256_SHA[0039] BEAST [+] Preferred SSLv3.0 cipher suite on 127.0.0.2:443: RSA_RC4_128_SHA[0005] [+] 7 SSLv3.0 cipher suites supported [V] 127.0.0.2:443 - Some clients could be vulnerable to BEAST attack - if HTTPS service [V] 127.0.0.2:443 - Most encrypted connections will not use forward secrecy === Testing protocol TLSv1.0 === [+] Cipher suite supported on 127.0.0.2:443: TLSv1.0 RSA_RC4_128_SHA[0005] NO_PFS [+] Cipher suite supported on 127.0.0.2:443: TLSv1.0 RSA_DES_192_CBC3_SHA[000a] BEAST,NO_PFS [+] Cipher suite supported on 127.0.0.2:443: TLSv1.0 EDH_RSA_DES_192_CBC3_SHA[0016] BEAST [+] Cipher suite supported on 127.0.0.2:443: TLSv1.0 RSA_WITH_AES_128_SHA[002f] BEAST,NO_PFS [+] Cipher suite supported on 127.0.0.2:443: TLSv1.0 DHE_RSA_WITH_AES_128_SHA[0033] BEAST [+] Cipher suite supported on 127.0.0.2:443: TLSv1.0 RSA_WITH_AES_256_SHA[0035] BEAST,NO_PFS [+] Cipher suite supported on 127.0.0.2:443: TLSv1.0 DHE_RSA_WITH_AES_256_SHA[0039] BEAST [+] Preferred TLSv1.0 cipher suite on 127.0.0.2:443: RSA_RC4_128_SHA[0005] [+] 7 TLSv1.0 cipher suites supported [V] 127.0.0.2:443 - Some clients could be vulnerable to BEAST attack - if HTTPS service [V] 127.0.0.2:443 - Most encrypted connections will not use forward secrecy === Testing protocol TLSv1.1 === [+] Protocol TLSv1.1 is not supported. Skipping. [+] 0 TLSv1.1 cipher suites supported === Testing protocol TLSv1.2 === [+] Protocol TLSv1.2 is not supported. Skipping. [+] 0 TLSv1.2 cipher suites supported [+] Summary of support cipher suites for 127.0.0.2:443 SSLv3.0: * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * EDH_RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * DHE_RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * DHE_RSA_WITH_AES_256_SHA TLSv1.0: * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * EDH_RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * DHE_RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * DHE_RSA_WITH_AES_256_SHA [+] Summary of weakness &quot;BEAST&quot; for 127.0.0.2:443 SSLv3.0: * RSA_DES_192_CBC3_SHA * EDH_RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * DHE_RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * DHE_RSA_WITH_AES_256_SHA TLSv1.0: * RSA_DES_192_CBC3_SHA * EDH_RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * DHE_RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * DHE_RSA_WITH_AES_256_SHA [+] Summary of weakness &quot;NO_PFS&quot; for 127.0.0.2:443 SSLv3.0: * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA TLSv1.0: * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA === Scan Complete === [+] ssl-cipher-enum v0.4-beta completed at Tue Jul 3 14:48:41 2012. 470 connections in 0 secs. <h2 style="font-family: Arial, Verdana, sans-serif; white-space: normal; ">Example Output 3: Well Secured Service Supporting TLSv1.2</h2>$ ssl-cipher-suite-enum.pl www.example.com Starting ssl-cipher-enum v0.4-beta ( http://labs.portcullis.co.uk/application/ssl-cipher-suite-enum/ ) at Tue Jul 3 14:48:52 2012 [+] Scanning 1 hosts === Scan Info === Target: www.example.com IP: 127.0.0.3 Port: 443 Protocols: SSLv2.0,SSLv3.0,TLSv1.0,TLSv1.1,TLSv1.2 Scan Rate: unlimited === Testing protocol SSLv2.0 === [+] 0 SSLv2.0 cipher suites supported === Testing protocol SSLv3.0 === [+] Cipher suite supported on 127.0.0.3:443: SSLv3.0 RSA_RC4_128_MD5[0004] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: SSLv3.0 RSA_RC4_128_SHA[0005] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: SSLv3.0 RSA_DES_192_CBC3_SHA[000a] BEAST,NO_PFS [+] Cipher suite supported on 127.0.0.3:443: SSLv3.0 ECDHE_RSA_WITH_RC4_128_SHA[c011] [+] Cipher suite supported on 127.0.0.3:443: SSLv3.0 ECDHE_RSA_WITH_DES_192_CBC3_SHA[c012] BEAST [+] Cipher suite supported on 127.0.0.3:443: SSLv3.0 ECDHE_RSA_WITH_AES_128_CBC_SHA[c013] BEAST [+] Cipher suite supported on 127.0.0.3:443: SSLv3.0 ECDHE_RSA_WITH_AES_256_CBC_SHA[c014] BEAST [+] Cipher suite supported on 127.0.0.3:443: SSLv3.0 RSA_WITH_AES_128_SHA[002f] BEAST,NO_PFS [+] Cipher suite supported on 127.0.0.3:443: SSLv3.0 RSA_WITH_AES_256_SHA[0035] BEAST,NO_PFS [+] Preferred SSLv3.0 cipher suite on 127.0.0.3:443: ECDHE_RSA_WITH_RC4_128_SHA[c011] [+] 9 SSLv3.0 cipher suites supported [V] 127.0.0.3:443 - Some clients could be vulnerable to BEAST attack - if HTTPS service [V] 127.0.0.3:443 - Some encrypted connections may not have forward secrecy === Testing protocol TLSv1.0 === [+] Cipher suite supported on 127.0.0.3:443: TLSv1.0 RSA_RC4_128_MD5[0004] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.0 RSA_RC4_128_SHA[0005] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.0 RSA_DES_192_CBC3_SHA[000a] BEAST,NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.0 ECDHE_RSA_WITH_RC4_128_SHA[c011] [+] Cipher suite supported on 127.0.0.3:443: TLSv1.0 ECDHE_RSA_WITH_DES_192_CBC3_SHA[c012] BEAST [+] Cipher suite supported on 127.0.0.3:443: TLSv1.0 ECDHE_RSA_WITH_AES_128_CBC_SHA[c013] BEAST [+] Cipher suite supported on 127.0.0.3:443: TLSv1.0 ECDHE_RSA_WITH_AES_256_CBC_SHA[c014] BEAST [+] Cipher suite supported on 127.0.0.3:443: TLSv1.0 RSA_WITH_AES_128_SHA[002f] BEAST,NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.0 RSA_WITH_AES_256_SHA[0035] BEAST,NO_PFS [+] Preferred TLSv1.0 cipher suite on 127.0.0.3:443: ECDHE_RSA_WITH_RC4_128_SHA[c011] [+] 9 TLSv1.0 cipher suites supported [V] 127.0.0.3:443 - Some clients could be vulnerable to BEAST attack - if HTTPS service [V] 127.0.0.3:443 - Some encrypted connections may not have forward secrecy === Testing protocol TLSv1.1 === [+] Cipher suite supported on 127.0.0.3:443: TLSv1.1 RSA_RC4_128_MD5[0004] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.1 RSA_RC4_128_SHA[0005] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.1 RSA_DES_192_CBC3_SHA[000a] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.1 ECDHE_RSA_WITH_RC4_128_SHA[c011] [+] Cipher suite supported on 127.0.0.3:443: TLSv1.1 ECDHE_RSA_WITH_DES_192_CBC3_SHA[c012] [+] Cipher suite supported on 127.0.0.3:443: TLSv1.1 ECDHE_RSA_WITH_AES_128_CBC_SHA[c013] [+] Cipher suite supported on 127.0.0.3:443: TLSv1.1 ECDHE_RSA_WITH_AES_256_CBC_SHA[c014] [+] Cipher suite supported on 127.0.0.3:443: TLSv1.1 RSA_WITH_AES_128_SHA[002f] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.1 RSA_WITH_AES_256_SHA[0035] NO_PFS [+] Preferred TLSv1.1 cipher suite on 127.0.0.3:443: ECDHE_RSA_WITH_RC4_128_SHA[c011] [+] 9 TLSv1.1 cipher suites supported [V] 127.0.0.3:443 - Some encrypted connections may not have forward secrecy === Testing protocol TLSv1.2 === [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 RSA_RC4_128_MD5[0004] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 RSA_RC4_128_SHA[0005] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 RSA_DES_192_CBC3_SHA[000a] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 ECDHE_RSA_WITH_RC4_128_SHA[c011] [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 ECDHE_RSA_WITH_DES_192_CBC3_SHA[c012] [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 ECDHE_RSA_WITH_AES_128_CBC_SHA[c013] [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 ECDHE_RSA_WITH_AES_256_CBC_SHA[c014] [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 ECDHE_RSA_WITH_AES_128_CBC_SHA256[c027] [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 ECDHE_RSA_WITH_AES_256_CBC_SHA384[c028] [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 RSA_WITH_AES_128_SHA[002f] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 ECDHE_RSA_WITH_AES_128_GCM_SHA256[c02f] [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 ECDHE_RSA_WITH_AES_256_GCM_SHA384[c030] [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 RSA_WITH_AES_256_SHA[0035] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 RSA_WITH_AES_128_CBC_SHA256[003c] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 RSA_WITH_AES_256_CBC_SHA256[003d] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 RSA_WITH_AES_128_GCM_SHA256[009c] NO_PFS [+] Cipher suite supported on 127.0.0.3:443: TLSv1.2 RSA_WITH_AES_256_GCM_SHA384[009d] NO_PFS [+] Preferred TLSv1.2 cipher suite on 127.0.0.3:443: ECDHE_RSA_WITH_RC4_128_SHA[c011] [+] 17 TLSv1.2 cipher suites supported [V] 127.0.0.3:443 - Some encrypted connections may not have forward secrecy [+] Summary of support cipher suites for 127.0.0.3:443 SSLv3.0: * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * ECDHE_RSA_WITH_RC4_128_SHA * ECDHE_RSA_WITH_DES_192_CBC3_SHA * ECDHE_RSA_WITH_AES_128_CBC_SHA * ECDHE_RSA_WITH_AES_256_CBC_SHA TLSv1.0: * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * ECDHE_RSA_WITH_RC4_128_SHA * ECDHE_RSA_WITH_DES_192_CBC3_SHA * ECDHE_RSA_WITH_AES_128_CBC_SHA * ECDHE_RSA_WITH_AES_256_CBC_SHA TLSv1.1: * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * ECDHE_RSA_WITH_RC4_128_SHA * ECDHE_RSA_WITH_DES_192_CBC3_SHA * ECDHE_RSA_WITH_AES_128_CBC_SHA * ECDHE_RSA_WITH_AES_256_CBC_SHA TLSv1.2: * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * RSA_WITH_AES_128_CBC_SHA256 * RSA_WITH_AES_256_CBC_SHA256 * RSA_WITH_AES_128_GCM_SHA256 * RSA_WITH_AES_256_GCM_SHA384 * ECDHE_RSA_WITH_RC4_128_SHA * ECDHE_RSA_WITH_DES_192_CBC3_SHA * ECDHE_RSA_WITH_AES_128_CBC_SHA * ECDHE_RSA_WITH_AES_256_CBC_SHA * ECDHE_RSA_WITH_AES_128_CBC_SHA256 * ECDHE_RSA_WITH_AES_256_CBC_SHA384 * ECDHE_RSA_WITH_AES_128_GCM_SHA256 * ECDHE_RSA_WITH_AES_256_GCM_SHA384 [+] Summary of weakness &quot;BEAST&quot; for 127.0.0.3:443 SSLv3.0: * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * ECDHE_RSA_WITH_DES_192_CBC3_SHA * ECDHE_RSA_WITH_AES_128_CBC_SHA * ECDHE_RSA_WITH_AES_256_CBC_SHA TLSv1.0: * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * ECDHE_RSA_WITH_DES_192_CBC3_SHA * ECDHE_RSA_WITH_AES_128_CBC_SHA * ECDHE_RSA_WITH_AES_256_CBC_SHA [+] Summary of weakness &quot;NO_PFS&quot; for 127.0.0.3:443 SSLv3.0: * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA TLSv1.0: * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA TLSv1.1: * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA TLSv1.2: * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * RSA_WITH_AES_128_CBC_SHA256 * RSA_WITH_AES_256_CBC_SHA256 * RSA_WITH_AES_128_GCM_SHA256 * RSA_WITH_AES_256_GCM_SHA384 === Scan Complete === [+] ssl-cipher-enum v0.4-beta completed at Tue Jul 3 14:49:39 2012. 922 connections in 47 secs. </pre> <h2>Output Example #4: Scanning SMTP Server That Supports STARTTLS</h2> <pre> $ ./ssl-cipher-suite-enum.pl --smtp 10.0.0.4:25 Starting ssl-cipher-suite-enum v0.9 ( http://labs.portcullis.co.uk/application/ssl-cipher-suite-enum/ ) at Thu Jul 12 07:02:20 2012 [+] Scanning 1 hosts === Scan Info === Target: 10.0.0.4 IP: 10.0.0.4 Port: 25 Protocols: SSLv2.0,SSLv3.0,TLSv1.0,TLSv1.1,TLSv1.2 Preamble: SMTP Scan Rate: unlimited === Testing protocol SSLv2.0 === [+] Cipher suite supported on 10.0.0.4:25: SSLv2.0 RC4_128_WITH_MD5[010080] SSL2_INSEC,NO_PFS [+] Cipher suite supported on 10.0.0.4:25: SSLv2.0 RC4_128_EXPORT40_WITH_MD5[020080] SSL2_INSEC,NO_PFS,WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: SSLv2.0 RC2_128_CBC_WITH_MD5[030080] SSL2_INSEC,NO_PFS [+] Cipher suite supported on 10.0.0.4:25: SSLv2.0 RC2_128_CBC_EXPORT40_WITH_MD5[040080] SSL2_INSEC,NO_PFS,WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: SSLv2.0 DES_64_CBC_WITH_MD5[060040] SSL2_INSEC,NO_PFS,WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: SSLv2.0 DES_192_EDE3_CBC_WITH_MD5[0700c0] SSL2_INSEC,NO_PFS [+] 6 SSLv2.0 cipher suites supported [V] 10.0.0.4:25 - Some connections might be protected with a weak (&lt;128-bit) symmetric encryption key === Testing protocol SSLv3.0 === [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 RSA_RC4_40_MD5[0003] NO_PFS,WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 RSA_RC4_128_MD5[0004] NO_PFS [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 RSA_RC4_128_SHA[0005] NO_PFS [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 RSA_RC2_40_MD5[0006] NO_PFS,WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 RSA_DES_40_CBC_SHA[0008] NO_PFS,WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 RSA_DES_64_CBC_SHA[0009] NO_PFS,WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 RSA_DES_192_CBC3_SHA[000a] NO_PFS [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 EDH_RSA_DES_40_CBC_SHA[0014] WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 EDH_RSA_DES_64_CBC_SHA[0015] WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 EDH_RSA_DES_192_CBC3_SHA[0016] [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 RSA_WITH_AES_128_SHA[002f] NO_PFS [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 DHE_RSA_WITH_AES_128_SHA[0033] [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 RSA_WITH_AES_256_SHA[0035] NO_PFS [+] Cipher suite supported on 10.0.0.4:25: SSLv3.0 DHE_RSA_WITH_AES_256_SHA[0039] [+] Preferred SSLv3.0 cipher suite on 10.0.0.4:25: RSA_RC4_40_MD5[0003] NO_PFS,WEAK_ENC [+] 14 SSLv3.0 cipher suites supported [V] 10.0.0.4:25 - Some connections might be protected with a weak (&lt;128-bit) symmetric encryption key [V] 10.0.0.4:25 - Most encrypted connections will not use forward secrecy === Testing protocol TLSv1.0 === [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 RSA_RC4_40_MD5[0003] NO_PFS,WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 RSA_RC4_128_MD5[0004] NO_PFS [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 RSA_RC4_128_SHA[0005] NO_PFS [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 RSA_RC2_40_MD5[0006] NO_PFS,WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 RSA_DES_40_CBC_SHA[0008] NO_PFS,WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 RSA_DES_64_CBC_SHA[0009] NO_PFS,WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 RSA_DES_192_CBC3_SHA[000a] NO_PFS [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 EDH_RSA_DES_40_CBC_SHA[0014] WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 EDH_RSA_DES_64_CBC_SHA[0015] WEAK_ENC [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 EDH_RSA_DES_192_CBC3_SHA[0016] [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 RSA_WITH_AES_128_SHA[002f] NO_PFS [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 DHE_RSA_WITH_AES_128_SHA[0033] [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 RSA_WITH_AES_256_SHA[0035] NO_PFS [+] Cipher suite supported on 10.0.0.4:25: TLSv1.0 DHE_RSA_WITH_AES_256_SHA[0039] [+] Preferred TLSv1.0 cipher suite on 10.0.0.4:25: RSA_RC4_40_MD5[0003] NO_PFS,WEAK_ENC [+] 14 TLSv1.0 cipher suites supported [V] 10.0.0.4:25 - Some connections might be protected with a weak (&lt;128-bit) symmetric encryption key [V] 10.0.0.4:25 - Most encrypted connections will not use forward secrecy === Testing protocol TLSv1.1 === [+] Protocol TLSv1.1 is not supported. Skipping. [+] 0 TLSv1.1 cipher suites supported === Testing protocol TLSv1.2 === [+] Protocol TLSv1.2 is not supported. Skipping. [+] 0 TLSv1.2 cipher suites supported [+] Summary of support cipher suites for 10.0.0.4:25 SSLv2.0: * RC4_128_WITH_MD5 * RC4_128_EXPORT40_WITH_MD5 * RC2_128_CBC_WITH_MD5 * RC2_128_CBC_EXPORT40_WITH_MD5 * DES_64_CBC_WITH_MD5 * DES_192_EDE3_CBC_WITH_MD5 SSLv3.0: * RSA_RC4_40_MD5 * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_RC2_40_MD5 * RSA_DES_40_CBC_SHA * RSA_DES_64_CBC_SHA * RSA_DES_192_CBC3_SHA * EDH_RSA_DES_40_CBC_SHA * EDH_RSA_DES_64_CBC_SHA * EDH_RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * DHE_RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * DHE_RSA_WITH_AES_256_SHA TLSv1.0: * RSA_RC4_40_MD5 * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_RC2_40_MD5 * RSA_DES_40_CBC_SHA * RSA_DES_64_CBC_SHA * RSA_DES_192_CBC3_SHA * EDH_RSA_DES_40_CBC_SHA * EDH_RSA_DES_64_CBC_SHA * EDH_RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * DHE_RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * DHE_RSA_WITH_AES_256_SHA [+] Summary of weakness &quot;NO_PFS&quot; for 10.0.0.4:25 SSLv2.0: * RC4_128_WITH_MD5 * RC4_128_EXPORT40_WITH_MD5 * RC2_128_CBC_WITH_MD5 * RC2_128_CBC_EXPORT40_WITH_MD5 * DES_64_CBC_WITH_MD5 * DES_192_EDE3_CBC_WITH_MD5 SSLv3.0: * RSA_RC4_40_MD5 * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_RC2_40_MD5 * RSA_DES_40_CBC_SHA * RSA_DES_64_CBC_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA TLSv1.0: * RSA_RC4_40_MD5 * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_RC2_40_MD5 * RSA_DES_40_CBC_SHA * RSA_DES_64_CBC_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA [+] Summary of weakness &quot;SSL2_INSEC&quot; for 10.0.0.4:25 SSLv2.0: * RC4_128_WITH_MD5 * RC4_128_EXPORT40_WITH_MD5 * RC2_128_CBC_WITH_MD5 * RC2_128_CBC_EXPORT40_WITH_MD5 * DES_64_CBC_WITH_MD5 * DES_192_EDE3_CBC_WITH_MD5 [+] Summary of weakness &quot;WEAK_ENC&quot; for 10.0.0.4:25 SSLv2.0: * RC4_128_EXPORT40_WITH_MD5 * RC2_128_CBC_EXPORT40_WITH_MD5 * DES_64_CBC_WITH_MD5 SSLv3.0: * RSA_RC4_40_MD5 * RSA_RC2_40_MD5 * RSA_DES_40_CBC_SHA * RSA_DES_64_CBC_SHA * EDH_RSA_DES_40_CBC_SHA * EDH_RSA_DES_64_CBC_SHA TLSv1.0: * RSA_RC4_40_MD5 * RSA_RC2_40_MD5 * RSA_DES_40_CBC_SHA * RSA_DES_64_CBC_SHA * EDH_RSA_DES_40_CBC_SHA * EDH_RSA_DES_64_CBC_SHA === Scan Complete === [+] ssl-cipher-suite-enum v0.9 completed at Thu Jul 12 07:03:37 2012. 470 connections in 77 secs. </pre> <h2>Output Example #5: Scanning An RDP Service</h2> <pre> $ ./ssl-cipher-suite-enum.pl --rdp --tlsv1 10.0.0.5:3389 Starting ssl-cipher-suite-enum v0.9 ( http://labs.portcullis.co.uk/application/ssl-cipher-suite-enum/ ) at Thu Jul 12 07:07:59 2012 [+] Scanning 1 hosts === Scan Info === Target: 10.0.0.5 IP: 10.0.0.5 Port: 3389 Protocols: TLSv1.0 Preamble: RDP Scan Rate: unlimited === Testing protocol TLSv1.0 === [+] Cipher suite supported on 10.0.0.5:3389: TLSv1.0 RSA_RC4_128_MD5[0004] NO_PFS [+] Cipher suite supported on 10.0.0.5:3389: TLSv1.0 RSA_RC4_128_SHA[0005] NO_PFS [+] Cipher suite supported on 10.0.0.5:3389: TLSv1.0 RSA_DES_192_CBC3_SHA[000a] NO_PFS [+] Cipher suite supported on 10.0.0.5:3389: TLSv1.0 ECDHE_RSA_WITH_AES_128_CBC_SHA[c013] [+] Cipher suite supported on 10.0.0.5:3389: TLSv1.0 ECDHE_RSA_WITH_AES_256_CBC_SHA[c014] [+] Cipher suite supported on 10.0.0.5:3389: TLSv1.0 RSA_WITH_AES_128_SHA[002f] NO_PFS [+] Cipher suite supported on 10.0.0.5:3389: TLSv1.0 RSA_WITH_AES_256_SHA[0035] NO_PFS [+] Preferred TLSv1.0 cipher suite on 10.0.0.5:3389: RSA_WITH_AES_128_SHA[002f] NO_PFS [+] 7 TLSv1.0 cipher suites supported [V] 10.0.0.5:3389 - Most encrypted connections will not use forward secrecy [+] Summary of support cipher suites for 10.0.0.5:3389 TLSv1.0: * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA * ECDHE_RSA_WITH_AES_128_CBC_SHA * ECDHE_RSA_WITH_AES_256_CBC_SHA [+] Summary of weakness &quot;NO_PFS&quot; for 10.0.0.5:3389 TLSv1.0: * RSA_RC4_128_MD5 * RSA_RC4_128_SHA * RSA_DES_192_CBC3_SHA * RSA_WITH_AES_128_SHA * RSA_WITH_AES_256_SHA === Scan Complete === [+] ssl-cipher-suite-enum v0.9 completed at Thu Jul 12 07:08:21 2012. 227 connections in 22 secs. </pre> SSHatter | Content Wed, 16 Feb 2011 12:19:48 GMT http://labs.portcullis.co.uk/application/sshatter/ <p> <meta charset="utf-8"><span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; font-size: 14px; line-height: 19px; ">Password brute forcer for SSH.</span> </meta> </p> <p> <meta charset="utf-8"><span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; font-size: 14px; line-height: 19px; "> </span> </meta> </p> <p>Features:</p> <ul> <li>Multi threaded</li> <li>Supports both SSH v1 and v2 protocols</li> <li>Supports key based brute forcing</li> <li>Support for post brute force exploration</li> <li>Mass mode to run one command across all targets</li> <li>Support for sudo based privilege escalation</li> <li>Integrated file transfer support</li> </ul> udp-proto-scanner | Content Wed, 26 Nov 2008 16:23:36 GMT http://labs.portcullis.co.uk/application/udp-proto-scanner/ <p>udp-proto-scanner.pl discovers UDP services by sending triggers to a list of hosts:</p> <pre> $ udp-proto-scanner.pl -f ips.txt $ udp-proto-scanner.pl 10.0.0.0/16 172.16.16.1 192.168.0.1 $ udp-proto-scanner.pl -p ntp -f ips.txt </pre> <p>The probe names (for -p) are defined in udp-proto-scanner.conf. List probe names using the -l option:</p> <pre> $ udp-proto-scanner.pl -l </pre> <h2>What's it Used For?</h2> <p>It's used in the host-discovery and service-discovery phases of a pentest.<br /> <br /> It can be helpful if you need to discover hosts that only offer UDP services<br /> and are otherwise well firewalled - e.g. if you want to find all the DNS<br /> servers in a range of IP addresses. Alternatively on a LAN, you might want<br /> a quick way to find all the TFTP servers.<br /> <br /> Not all UDP services can be discovered in this way (e.g. SNMPv1 won't respond<br /> unless you know a valid community string). However, many UDP services can be<br /> discovered, e.g.:</p> <ul> <li>DNS</li> <li>TFTP</li> <li>NTP</li> <li>NBT</li> <li>SunRPC</li> <li>MS SQL</li> <li>DB2</li> <li>SNMPv3</li> </ul> <h2>It's Not a Portscanner</h2> <p>It won't give you a list of open and closed ports for each host. It's simply<br /> looking for specific UDP services.</p> <h2>Efficiency</h2> <p>It's most efficient to run udp-proto-scanner.pl against whole networks (e.g.<br /> 256 IPs or more). If you run it against small numbers of hosts it will seem<br /> quite slow because it waits for 1 second between each different type of probe.</p> <p>One cool feature of udp-proto-scanner is that it doesn't load the whole host list <br /> into memory. Therefore if you want to scan 17 million IPs, you can. It'll <br /> take a while, but you won't run out of memory.</p> <h2>Credits</h2> <p>The UDP probes are mainly taken from amap, nmap and ike-scan.<br /> Inspiration for the scanning code was drawn from ike-scan.<br /> Net::Netmask by David Muir Sharnoff is included in this tool.</p> Apache Users | Content Thu, 11 Sep 2008 11:22:18 GMT http://labs.portcullis.co.uk/application/apache-users/ <p>This Perl script will enumerate the usernames on any system that uses Apache with the UserDir module.</p> <p>&nbsp;</p> acccheck | Content Wed, 09 Apr 2008 18:48:49 GMT http://labs.portcullis.co.uk/application/acccheck/ <p>The tool is designed as a password dictionary attack tool that targets windows authentication via the SMB protocol. It is really a wrapper script around the 'smbclient' binary, and as a result is dependent on it for its execution.</p> <p>The simplest way to run the tool is as follows:<br /> <br /> ./acccheck.pl -t 10.10.10.1<br /> <br /> This mode of execution attempts to connect to the target ADMIN$ share with the username 'Administrator' and a [BLANK] for the password.<br /> <br /> ./acccheck.pl -t 10.10.10.1 -u test -p test<br /> <br /> This mode of execution attempts to connect to the target IPC$ share with the username 'test' and a password 'test'.<br /> <br /> Each -t, -u and -p flags can be substituted by -T, -U and -P, where each represents an input file rather than a single input from standard in.<br /> <br /> E.g.<br /> ./acccheck.pl -T iplist -U userfile -P passwordfile<br /> <br /> Only use -v mode on very small dictionaries, otherwise, this has the affect of slowing the scan down to the rate the system writes to standard out.<br /> <br /> Any username/password combinations found are written to a file called 'cracked' in the working directory.</p> MIBparse | Content Mon, 07 Apr 2008 23:38:19 GMT http://labs.portcullis.co.uk/application/mibparse/ <p>MIBparse.pl has been designed as an offline parser to quickly parse output from SNMP tools such as 'snmpwalk' (NET-SNMP project 'net-snmp.sourceforge.net'). The output returned depends on the options that are selected by the user. Typically, information relating to the system, services, open ports, users, shares and installed components is some of the information that can be extracted by the tool.</p> <p><b>Requirements</b></p> <p>The only requirement is Perl.</p> <p><b>Running</b></p> <p>The simplest way to run the tool is as follows:<br /> <br /> ./MIBparse -f public.txt<br /> <br /> Where &quot;public.txt&quot; is the output from 'snmpwalk' piped to a file. In this mode all available information is displayed to the user as standard out.<br /> <br /> The information that is output can be tailored using the '-a' flag. The following values can be used in conjunction with this flag:</p> <p><br /> 1 = All<br /> 2 = System<br /> 3 = Routing information<br /> 4 = Services<br /> 5 = TCP ports<br /> 6 = UDP ports<br /> 7 = Users<br /> 8 = Shares<br /> 9 = Domain<br /> 10 = Installed components<br /> 11 = Community strings</p> <p>Each value corresponds to the type of information that is output. As an example, '-a 7' will output all of the users from a Windows system. The example execution in this case would include:<br /> <br /> ./MIBparse.pl -f public.txt -a 7<br /> <br /> If you wish to execute the tool from a working directory which is not in your $PATH then the '-b' option can be used to specify the location of the 'tags' file. This option can also be used to specify any file as a tags file as long as the format of the file conforms to the example that is provided. The example execution in such a case would be:<br /> <br /> ./MIBparse.pl -f public.txt -b ./tags<br /> OR<br /> ./MIBparse.pl -f public.txt -b ./mytagsfile<br /> <br /> Finally, the '-b' flag can be used in conjunction with the '-a' flag. The example execution in such a case would be:<br /> <br /> ./MIBparse.pl -f public.txt -b ./mytagsfile -a 7</p> BSQL brute forcer V2 | Content Wed, 18 Jun 2008 12:21:58 GMT http://labs.portcullis.co.uk/application/bsql-brute-forcer/ <p>This is a modified version of 'bsqlbfv1.2-th.pl'. This perl script allows extraction of data from Blind SQL Injections. It accepts custom SQL queries as a command line&nbsp; parameter and it works for both integer and string based injections. Databases supported:-<br /> <br /> <b>0. MS-SQL<br /> 1. MySQl<br /> 2. Postgres<br /> 3. Oracle</b><br /> <br /> The tool supports 2 attack modes(-type switch):-<br /> <br /> Type 0:- Blind SQL Injection based on true and false conditions returned by back-end server<br /> <br /> Type 1:- Blind SQL Injection based on true and error(e.g syntax error) returned by back-end server.<br /> <br /> Usage example:<br /> <b>$./bsqlbf-v2.pl -url http://192.168.1.1/injection_string_post/1.asp?p=1 -method post -match true -database 0 -sql &quot;select top 1 name from sysobjects where xtype='U'&quot;</b></p> ManySSL | Content Tue, 09 Dec 2008 15:40:49 GMT http://labs.portcullis.co.uk/application/ManySSL/ <p>This PERL script will enumerate the SSL ciphers in use on any SSL encrypted service. It is not restricted to HTTPS and can be used on SMTP servers that support STARTTLS.</p> <p><b>Features Include</b></p> <ul> <li>Warn the operator if a self-signed certificate is detected.</li> <li>Warn the operator if an expired certificate is detected.</li> <li>Full cipher, key-exchange and authentication key strength output.</li> <li>Use of a client specificed SSL certificate.</li> </ul> http-dir-enum | Content Fri, 28 Mar 2008 16:49:57 GMT http://labs.portcullis.co.uk/application/http-dir-enum/ <p>http-dir-enum is a tool for finding content that is not linked on a website. Its main use is for finding directories that exist on a server. Simply provide a dictionary file and a URL.</p> <p>This tool is written in PERL and uses the LWP library.</p> <p>Features include:</p> <ul> <li>Automatic detection of which HTTP response code to ignore (normally 404, but can vary on some sites)</li> <li>Support for bruteforcing Files and Directories</li> <li>Can search for directories recursively</li> <li>Proxy support</li> <li>Support for HTTP Basic Authentication</li> <li>Support for sending custom cookies</li> <li>Save scan output in XML format</li> <li>Command line (lack of GUI is a feature, not a bug)</li> <li>Mutli-threading for extra speed</li> <li>HTTP keep alive support for extra speed (can be turned off)</li> </ul> <p>Check out the <a href="/content/http-dir-enum/usage/">usage</a> page for a full list of options. There are also lots of <a href="/content/http-dir-enum/examples/">examples</a> to get you started.</p> enum4linux | Content Tue, 16 Sep 2008 11:29:28 GMT http://labs.portcullis.co.uk/application/enum4linux/ <p>Enum4linux is a tool for enumerating information from Windows and Samba systems. It attempts to offer similar functionality to enum.exe formerly available from www.bindview.com.<br /> <br /> It is written in PERL and is basically a wrapper around the Samba tools smbclient, rpclient, net and nmblookup. The samba package is therefore a dependency.<br /> <br /> Features include:</p> <ul> <li>RID Cycling (When RestrictAnonymous is set to 1 on Windows 2000)</li> <li>User Listing (When RestrictAnonymous is set to 0 on Windows 2000)</li> <li>Listing of Group Membership Information</li> <li>Share Enumeration</li> <li>Detecting if host is in a Workgroup or a Domain</li> <li>Identifying the remote Operating System</li> <li>Password Policy Retrieval (using <a href="/application/polenum/">polenum</a>)</li> </ul> <p>Check out the <a href="/content/enum4linux/usage/">usage</a> page for a full list of options. There are also lots of <a href="/content/enum4linux/examples/">examples</a> to get you started.</p>