Portcullis Labs - Tools http://labs.portcullis.co.uk Labs Portcullis updates. en Labs portcullis Fri, 15 Feb 2013 16:55:19 GMT http://backend.userland.com/rss 60 Labs Portcullis hhttp://labs.portcullis.co.uk/mg/logo.gif http://labs.portcullis.co.uk Local MySQL Password Auditor | Content Fri, 15 Feb 2013 15:29:23 GMT http://labs.portcullis.co.uk/application/local-mysql-password-bruteforcer/ <p style="text-align: left;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><b>mysql-local-bruteforcer</b> is a tool to perform password security audit against local instances of MySQL installation. It attempts to enumerate local passwords against either the dictionary of passwords and single user or dictionary of users and passwords.</p> <p style="text-align: left;"><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]--></p> <p class="MsoNormal">&nbsp;It is written in Python and can be easily ported as an executable for windows using tools such as py2exe.</p> <p class="MsoNormal"><b>Installation</b></p> <p class="MsoNormal">No installation needed, just download and run.</p> <p class="MsoNormal"><b>Usage</b><br /> To crack single password for a user:<br /> &nbsp;&nbsp;&nbsp; options: -d <dict> -u <user></user></dict></p> <p class="MsoNormal"><dict><user>To crack passwords for multiple users:<br /> &nbsp;&nbsp;&nbsp; options: -d <dict> -U <user dict=""><br /> <br /> <b>Options</b><br /> &nbsp; -h, --help&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show this help message and exit<br /> &nbsp; -d FILE, --dictionary=FILE<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local password dictionary to use<br /> &nbsp; -U FILE, --usernames=FILE<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local username dictionary to use<br /> &nbsp; -v, --verbose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; don't print any messages<br /> &nbsp; -u USERNAME, --username=USERNAME<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; username to crack password against<br /> &nbsp; -f FORCE, --force=FORCE<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; force quit after first successful crack</user></dict></user></dict></p> <p class="MsoNormal">&nbsp;</p> <p>&nbsp;</p> HeaderCheck | Content Fri, 15 Feb 2013 09:08:18 GMT http://labs.portcullis.co.uk/application/headercheck/ <p>HeaderCheck is a Python script for checking the security settings of several HTTP headers returned by a server.</p> <p>The following headers are checked</p> <ul> <li>X-XSS-Protection</li> <li>X-Content-Type-Options</li> <li>X-Frame-Options</li> <li>Cache-Control</li> <li>Content-Security-Policy</li> <li>WebKit-X-CSP</li> <li>X-Content-Security-Policy</li> <li>Strict-Transport-Security</li> <li>Access-Control-Allow-Origin</li> <li>Origin</li> </ul> <p>Each header is assessed based on good practice settings as well as displayed for manual checking.</p> <h2>Installing</h2> <p>HeaderCheck is a stand alone python script, as such just decompress the download and move the script to the desired location.</p> <h2>Running</h2> <p>HeaderCheck can be run in the following form.</p> <p><code>python HeaderCheck.py [targeturl] [subdirectory]</code></p> <p>for example:</p> <p><code>python HeaderCheck.py www.google.com /</code></p> <p><code>python HeaderCheck.py www.bbc.co.uk /news</code></p> <p>Please note the space between the domain and the sub directory.</p> <p>&nbsp;</p> <p>&nbsp;</p> 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> get-dhcp-opts | Content Wed, 12 Dec 2012 10:06:03 GMT http://labs.portcullis.co.uk/application/get-dhcp-opts/ <p style="text-align: left;">get-dhcp-opts is a tool to discover DHCP/BOOTP servers on your LAN, and dump the DHCP/BOOTP options.</p> <p style="text-align: left;">Sometimes network infraestructures use DHCP/BOOTP to provide <i>special</i> configurations. For example, the voip network can use these special options to configure the phones (VoIP server address, configuration file URLs, ...).</p> <p style="text-align: left;">get-dhcp-opts display these options and detect Rogue DHCP Servers on your network.</p> <p style="text-align: left;">&nbsp;</p> <h1>Features</h1> <ul> <li>Request DHCP Options</li> <li>DHCP Options autodetection &amp; conversion</li> <li>Multiple DHCP Servers detection (aka. Rogue DHCP Servers)</li> </ul> <p>&nbsp;</p> <h1>Notes</h1> <ul> <li>get-dhcp-opts only sends DHCP Discover packets, so if the DHCP server is OK, it don't reserve the IP for your MAC.</li> </ul> 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> VulnApp | Content Sat, 15 Sep 2012 11:11:19 GMT http://labs.portcullis.co.uk/application/vulnapp/ <p>&nbsp;</p> <p style="font-family: sans-serif; text-align: justify; ">Recently myself and a colleague were asked to give some training to a client's ASP.net development team. My colleague was asked to give the main training session whilst I was asked to run a post training game to test the developers retention of the concepts. After looking at some of the existing ASP.net applications I decided I'd like to write my own. The result of this is&nbsp;<a href="http://projects.nth-dimension.org.uk/dir?d=VulnApp" style="color: rgb(146, 157, 181); text-decoration: none; ">VulnApp</a>, a BSD licensed ASP.net application implementing some of the most common applications we come across on our penetration testing engagements. The source is also available from my&nbsp;<a href="http://projects.nth-dimension.org.uk/" style="color: rgb(146, 157, 181); text-decoration: none; ">CVS server</a>&nbsp;so that others can, if they like, contribute.</p> <p style="font-family: sans-serif; text-align: justify; ">To make it easier for developers to learn, I've logged&nbsp;<a href="http://projects.nth-dimension.org.uk/rptview?rn=6" style="color: rgb(146, 157, 181); text-decoration: none; ">tickets</a>&nbsp;for all of the intentional vulnerabilities I've introduced along the way. Be aware that there might be others I've missed, particularly gaps in the enforcement of ACLs and logic bugs. I'd encourage you to log any other vulnerabilies you find along the way.</p> <p>&nbsp;</p> secdump | Content Sat, 24 Mar 2012 17:52:38 GMT http://labs.portcullis.co.uk/application/secdump/ <p>secdump is a simple meterpreter module uploads and runs&nbsp;<a href="http://www.truesec.se/sakerhet/verktyg/saakerhet/gsecdump_v2.0b5">gsecdump</a> from truesec.</p> <pre> meterpreter &gt; run secdump UploadExec gsecdump OPTIONS: -a Dump all creds -h Help menu. -l Dump LSA Secrets -p Path on target to upload executable, default is %TEMP%. -s Dump hashes from SAM/AD -u Dump Active logon session hashes -w Dump Wireless Creds {NOT IMPLEMENTED} <br type="_moz" /></pre> nopc | Content Tue, 03 Jul 2012 13:53:26 GMT http://labs.portcullis.co.uk/application/nopc/ <p>Ever been trying to perform a patch analysis of a UNIX based machine without network access to it? I have and it used to be a wrestling match to make reasonable sense of the output from tools like &quot;/bin/rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}|%{EPOCH}\n' &gt;&nbsp;patchlist.txt&quot;. &nbsp;</p> <p>Out of this came nopc. Nopc utilises the ability of Nessus to perform an accurate patch analysis once it has extracted the information from the system, but instructs you on how to manually recover this same information. Below is an example usage for a Redhat patch review.</p> <pre> d@p:~/src$ ./nopc.sh [+] What type of system have you got the patch output for? 1 - Redhat 2 - OSX 3 - Debian 4 - Ubuntu 5 - Slackware * 6 - Solaris (Maybe !11) 7 - AIX 8 - HP-UX * 9 - FreeBSD * 10 - Cisco * UNTESTED!! Enter 1-10? 1 [+] Redhat Selected [+] Run '/bin/rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}|%{EPOCH}\n' &gt; patchlist.txt' [+] Enter Location of file: patchlist.txt [+] Enter the Contents of /etc/redhat-release [+] Enter Text Requested: Red Hat Enterprise Linux Server release 5 [+] To run this in a script the command would be: ./nopc.sh -s '1' 'patchlist.txt' 'Red Hat Enterprise Linux Server release 5' [+] Locating Nasls .... </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> MS08-067 check | Content Tue, 18 Nov 2008 12:22:54 GMT http://labs.portcullis.co.uk/application/ms08-067-check/ <p>This tool can be used to anonymously check if a target machine or a list of target machines are affected by <a href="http://www.microsoft.com/technet/security/Bulletin/ms08-067.mspx">MS08-067</a> issue (Vulnerability in Server Service Could Allow Remote Code Execution).</p> <h2>Usage</h2> <pre> $ python ms08-067_check.py -h Usage: ms08-067_check.py [option] {-t <target>|-l <iplist.txt>}<br /><br />Options:<br /> --version show program's version number and exit<br /> -h, --help show this help message and exit<br /> -d show description and exit<br /> -t TARGET target IP or hostname<br /> -l LIST text file with list of targets<br /> -s be silent<target><iplist.txt><br /></iplist.txt></target></iplist.txt></target></pre> <h2>Example</h2> <pre> $ python ms08-067_check.py -t 192.168.123.30 192.168.123.30: VULNERABLE </pre> <h2>Note</h2> <p>On Windows XP Service Pack 2 and Windows XP Service Pack 3 this check might lead to a race condition and heap corruption in the <i>svchost.exe</i> process, but it may not crash the service immediately: it can trigger later on inside any of the shared services in the process.</p> <h2>References</h2> <ul> <li>BID: <a href="http://www.securityfocus.com/bid/31874">31874</a></li> <li>CVE: <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4250">2008-4250</a></li> <li><a href="http://blogs.technet.com/swi/archive/2008/10/25/most-common-questions-that-we-ve-been-asked-regarding-ms08-067.aspx">http://blogs.technet.com/swi/archive/2008/10/25/most-common-questions-that-we-ve-been-asked-regarding-ms08-067.aspx</a></li> <li><a href="http://www.microsoft.com/technet/security/advisory/958963.mspx">http://www.microsoft.com/technet/security/advisory/958963.mspx</a></li> <li><a href="http://www.phreedom.org/blog/2008/decompiling-ms08-067/">http://www.phreedom.org/blog/2008/decompiling-ms08-067/</a></li> <li><a href="http://metasploit.com/dev/trac/browser/framework3/trunk/modules/exploits/windows/smb/ms08_067_netapi.rb">http://metasploit.com/dev/trac/browser/framework3/trunk/modules/exploits/windows/smb/ms08_067_netapi.rb</a></li> <li><a href="http://blog.threatexpert.com/2008/10/gimmiva-exploits-zero-day-vulnerability.html">http://blog.threatexpert.com/2008/10/gimmiva-exploits-zero-day-vulnerability.html</a></li> <li><a href="http://blogs.securiteam.com/index.php/archives/1150">http://blogs.securiteam.com/index.php/archives/1150</a></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> polenum | Content Thu, 30 Oct 2008 11:54:12 GMT http://labs.portcullis.co.uk/application/polenum/ <p>polenum is a python script which uses the&nbsp;<a href="http://oss.coresecurity.com/projects/impacket.html">Impacket</a> Library from CORE Security Technologies to extract the password policy information from a windows machine. This allows a non-windows (Linux, Mac OSX, BSD etc..) user to query the password policy of a remote windows box without the need to have access to a windows machine.</p> <h2>features</h2> <ul> <li>can extract password and associated information from a windows machine</li> <li>will connect over a NULL or authenticated share</li> <li>supports encrypted/signed sessions</li> </ul> <h2>limitations</h2> <ul> <li>no NTLMv2 support</li> <li>has a problem with domain connected workstations</li> </ul> <h2>download</h2> <p><a href="/download/polenum-0.2.tar.bz2"> download polenum</a></p> <p>&nbsp;</p> vessl | Content Thu, 30 Oct 2008 11:51:42 GMT http://labs.portcullis.co.uk/application/vessl/ <p>vessl is a simple wrapper script that connects, extracts and then verifies the ssl certificate of an encrypted service. It was originally written in order to script up the ability to verify ssl certificates across a large network. </p> <h2>features</h2> <ul> <li>vessl will connect to any service that openssl can</li> <li>it will extract and verify against a given CA Pem file</li> <li>it will check that certificate matches the host it is on</li> <li>it produce a map going from ip's to hostname</li> <li>checks to see if certificate is based on a blacklisted debian key</li> </ul> <h2>dependencies</h2> <ul> <li>openssl</li> <li>ping</li> <li><a href="https://launchpad.net/ubuntu/+source/openssl-blacklist/">openssl-vulnkey</a></li> <li>mktemp</li> <li><a href="/content/vessl/generating-a-ca-pem-file/">CA Pem File</a></li> </ul> <h2>download</h2> <p><a href="/download/vessl-0.3.1.tar.bz2"> download vessl</a></p> <p>&nbsp;</p> BSQL Hacker | Content Wed, 16 Jan 2013 14:45:35 GMT http://labs.portcullis.co.uk/application/bsql-hacker/ <p>BSQL (Blind SQL) Hacker is an automated SQL Injection Framework / Tool designed to exploit SQL injection vulnerabilities virtually in any database.</p> <p>BSQL Hacker aims for experienced users as well as beginners who want to automate SQL Injections (especially Blind SQL Injections).</p> <p>It allows metasploit alike exploit repository to share and update exploits.</p> <ul> <li><a href="http://www.vimeo.com/1536040?pg=embed&amp;sec=1536040" rel="nofollow">See a sample exploitation video.</a></li> </ul> <p>&nbsp;</p> <h2>Download Installer</h2> <ul> <li><a href="/download/BSQLHackerSetup-0909.exe">BSQLHackerSetup-0909.exe<br /> </a></li> </ul> <h2>Key Features</h2> <ul> <li>Easy Mode <ul> <li>SQL Injection Wizard</li> <li>Automated Attack Support (database dump) <ul> <li>ORACLE</li> <li>MSSQL</li> <li>MySQL (experimental)</li> </ul> </li> </ul> </li> <li>General <ul> <li>Fast and Multithreaded</li> <li>4 Different SQL Injection Support <ul> <li>Blind SQL Injection</li> <li>Time Based Blind SQL Injection</li> <li>Deep Blind (based on advanced time delays) SQL Injection</li> <li>Error Based SQL Injection</li> </ul> </li> <li>Can automate most of the new SQL Injection methods those relies on Blind SQL Injection</li> <li>RegEx Signature support</li> <li>Console and GUI Support</li> <li>Load / Save Support</li> <li>Token / Nonce / ViewState etc. Support</li> <li>Session Sharing Support</li> <li>Advanced Configuration Support</li> <li>Automated Attack mode, Automatically extract all database schema and data mode</li> </ul> </li> </ul> <ul> <li>Update / Exploit Repository Features <ul> <li>Metasploit alike but exploit repository support</li> <li>Allows to save and share SQL Injection exploits</li> <li>Supports auto-update</li> <li>Custom GUI support for exploits (cookie input, URL input etc.)</li> </ul> </li> </ul> <ul> <li>GUI Features <ul> <li>Load and Save</li> <li>Template and Attack File Support (Users can save sessions and share them. Some sections like username, password or cookie in the templates can be show to the user in a GUI)</li> <li>Visually view true and false responses as well as full HTML response, including time and stats</li> </ul> </li> </ul> <ul> <li>Connection Related <ul> <li>Proxy Support (Authenticated Proxy Support)</li> <li>NTLM, Basic Auth Support, use default credentials of current user/application</li> <li>SSL (also invalid certificates) Support</li> <li>Custom Header Support</li> </ul> </li> </ul> <ul> <li>Injection Points (only one of them or combination) <ul> <li>Query String</li> <li>Post</li> <li>HTTP Headers</li> <li>Cookies</li> </ul> </li> </ul> <ul> <li>Other <ul> <li>Post Injection data can be stored in a separated file</li> <li>XML Output (not stable)</li> <li>CSRF protection support</li> </ul> </li> </ul> <p>one time session tokens or asp.net viewstate ort similar can be used for separated login sessions, bypassing proxy pages etc.</p> <hr /> <p><strong>It's still beta and there are known issues :</strong></p> <ul> <li>Automated Attack for MySQL is experimental, might not work properly</li> </ul> <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> nbtscan-1.5.2 | Content Thu, 03 Apr 2008 14:24:31 GMT http://labs.portcullis.co.uk/application/nbtstat-1-5-2/ <p>NBTscan is a program for scanning IP networks for NetBIOS name information. It sends NetBIOS status query to each address in supplied range and lists received information in human readable form. For each responded host it lists IP address, NetBIOS computer name, logged-in user name and MAC address.</p> Sun Patch Check | Content Wed, 02 Apr 2008 10:49:02 GMT http://labs.portcullis.co.uk/application/sun-patch-check/ <p>Sun Patch Check is a tool that does exactly what it says on the tin. Sun Patch Check compares the output from the Sun Solaris <code>showrev</code> command to that from the Sun recommended patch list.</p> <h2>Requirements</h2> <p>Sun Patch Check only requires the GNU C compiler.</p> <h2>Download</h2> <p>The latest version of Sun Patch Check can be downloaded from <a href="http://www.titania.co.uk/sunpatchcheck.php">here</a>.</p> <h2>Compiling</h2> <p>Sun Patch Check can be compiled from source using the following command:</p> <p><code>gcc -o sunpatchcheck sunpatchcheck.c</code></p> <h2>Running</h2> <p>Before you can use Sun Patch Check to check the patches of any Sun Solaris system you will need to update the patch list from the Sun web site. This can be done with the following command:</p> <p><code>sunpatchcheck --update</code></p> <p>You may want to update the patch list on a regular basis otherwise there may be more recent patches missing from the database.</p> <p>You will need to collect a patch list from a Sun Solaris system you want to check. This can be done with the following Solaris command:</p> <p><code>showrev -p &gt;patchlist.txt</code></p> <p>Sun Patch Check needs to know what version of Solaris you are comparing the patches from, this is specified on the command line when running Sun Patch Check. To check the patches from a Solaris 10 Sparc system using the file extracted in the previous example:</p> <p><code>sunpatchcheck --check=patchlist.txt --solaris=10</code></p> <p>Online help for all options is available using:</p> <p><code>sunpatchcheck --help</code></p> <h2>License</h2> <p>Sun Patch Check is covered by the GPL v3 license, but you will also need to agree to the <a href="http://sunsolve.sun.com/show.do?target=tous">Sun Solve license</a>.</p> Banner Grab | Content Wed, 02 Apr 2008 12:36:30 GMT http://labs.portcullis.co.uk/application/bannergrab/ <p style="text-align: left;">BannerGrab is a tool that performs connection, trigger-based and basic information collection from network services. The program has two modes of operation; simple connection banner grabbing and the default mode which makes use of service triggers to enumerate additional information.</p> <p style="text-align: left;">BannerGrab can connect to TCP services, UDP services and can connect to SSL services. SSL service banner grabbing will also return the SSL connection details.</p> <h2>Requirements</h2> <p style="text-align: left;">BannerGrab requires the GNU C compiler and has been tested on Linux, but should work on other UNIX type systems. It has even been known to run from an iPhone.</p> <p style="text-align: left;">BannerGrab has an optional requirement of the OpenSSL library to perform SSL-based grabs. However, SSL support can be disabled.</p> <h2>Download</h2> <p style="text-align: left;">BannerGrab can be downloaded from the Source Forge project site at <a href="http://sourceforge.net/projects/bannergrab">sourceforge.net/projects/bannergrab</a>.</p> <h2>Compiling</h2> <p style="text-align: left;">BannerGrab includes a Makefile, so it can be built in the usual way:</p> <ul> <li style="text-align: left;"><code>make</code></li> <li style="text-align: left;"><code>make install </code> (as root)</li> </ul> <p style="text-align: left;">However, it can be manually compiled as follows:</p> <p style="text-align: left;"><code>gcc -lssl -o bannergrab bannergrab.c</code></p> <p style="text-align: left;">On Mac OS-X systems it can be compiled as follows:</p> <p style="text-align: left;"><code>gcc -lssl -lcrypto -o bannergrab bannergrab.c</code></p> <p style="text-align: left;">It can be compiled without OpenSSL support as follows:</p> <p style="text-align: left;"><code>gcc -DNOSSL -o bannergrab bannergrab.c</code></p> <h2>Running</h2> <p style="text-align: left;">BannerGrab can be run in its simplest form by specifying a host and port as the parameters. For example:</p> <p style="text-align: left;"><code>bannergrab 127.0.0.1 80</code></p> <p style="text-align: left;">More advanced options can be shown using the online help with the following command:</p> <p style="text-align: left;"><code>bannergrab --help</code></p> <h2>License</h2> <p style="text-align: left;">BannerGrab is covered by the GPL v3 license with the following exception:</p> <p><em>In addition, as a special exception, the copyright holders give<br /> permission to link the code of portions of this program with the<br /> OpenSSL library under certain conditions as described in each<br /> individual source file, and distribute linked combinations<br /> including the two.<br /> You must obey the GNU General Public License in all respects<br /> for all of the code used other than OpenSSL. If you modify<br /> file(s) with this exception, you may extend this exception to your<br /> version of the file(s), but you are not obligated to do so. If you<br /> do not wish to do so, delete this exception statement from your<br /> version. If you delete this exception statement from all source<br /> files in the program, then also delete it here.</em></p> viewstate | Content Wed, 02 Apr 2008 10:50:25 GMT http://labs.portcullis.co.uk/application/viewstate/ <p>Viewstate is an ASP.Net viewstate decoder, checker, parser and encoder. It supports both old and new types of viewstate and the data can be extracted directly from the web.</p> <h2>Requirements</h2> <p>Viewstate is platform independent and can be downloaded in source code or Windows binary formats. If you are building viewstate from source you will need the GNU C compiler (under Windows you can use MinGW).</p> <h2><b>Downloads</b></h2> <p>Viewstate can be downloaded from the Source Forge project page <a href="http://sourceforge.net/projects/viewstate">sourceforge.net/projects/viewstate</a>.</p> <h2>Compiling</h2> <p>A Makefile is provided to provide the usual compilation process of:</p> <ul> <li>make</li> <li>make install (as root)</li> </ul> <p>However, you can compile it manually with the following:</p> <ul> <li>gcc -o viewstate viewstate.c</li> </ul> <h2><b>Running</b></h2> <p>If viewstate is run with no options, the online help is displayed. But a simple decode of the viewstate data held by the Acme company web site would be:</p> <p><code>viewstate --decode --url=http://www.acme.fake/main.asp</code></p> <h2>License</h2> <p>Viewstate is covered by the GPL v3 license.</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> hoppy | Content Fri, 09 Oct 2009 13:33:35 GMT http://labs.portcullis.co.uk/application/hoppy/ <p>hoppy is a <u><strong>h</strong></u>ttp <u><strong>o</strong></u>ptions <u><strong>p</strong></u>rober written in <u><strong>py</strong></u>thon. It checks the availability of HTTP methods as well as probing them to see if they can be forced to disclose system information.</p> <h2>features</h2> <ul> <li>HTTP Method detection, TRACK, TRACE, PUT etc</li> <li>Internal IP address disclosure detection</li> <li>Internal Path Disclosure detection</li> <li>Transparent working so you can see exactly what it did</li> <li>Data extraction</li> <li>Spider to find directories for webDAV detection</li> <li>ms09-020 IIS auth bypass check on all discovered directories</li> </ul> <h2>download</h2> <p><a href="/download/hoppy-1.7.3.tar.bz2"> download hoppy</a></p> <p>&nbsp;</p> onesixtyone | Content Mon, 31 Mar 2008 13:09:44 GMT http://labs.portcullis.co.uk/application/onesixtyone/ <p>This is an updated version of <a href="http://www.phreedom.org/solar/onesixtyone/">Solar Eclipse's SNMP bruteforcing tool</a>. Onesixtyone is an SNMP scanner that sends multiple SNMP requests to multiple IP addresses, trying different community strings and waiting for replies. This version fixes a number of bugs in other publically available versions of the software, such as allowing for very large dictionary files and reading target IP addresses from a file.</p> <p>Features:</p> <ul> <li>Very fast scanning speed (over 50,000 guesses per second)</li> <li>Scan a single host or thousands of hosts at the same time</li> <li>Tunable scan speed to support both LAN and WAN testing</li> </ul> <p>Bug Fixes:</p> <ul> <li>Very large dictionary files supported</li> <li>Enhanced error messages</li> <li>-w option works correctly to slow down / speed up scans</li> </ul> <p>Check out the <a href="../../../content/onesixtyone/usage/">usage</a> page for a full list of options. There are some <a href="../../../content/onesixtyone/examples/">examples</a> to get you started.</p> XSS Tunnel | Content Wed, 02 Apr 2008 15:12:53 GMT http://labs.portcullis.co.uk/application/xss-tunnelling/xss-tunnel/ <h2>What Is XSS Tunnelling?</h2> <p><a href="/application/xss-tunnelling/">XSS Tunnelling</a> is the tunnelling of HTTP traffic through an XSS Channel to use virtually any application that supports HTTP proxies.</p> <h2>What Is XSS Tunnel?</h2> <p>XSS Tunnel is a standard HTTP proxy which sits on an attacker&rsquo;s system. Any tool that is configured to use it will tunnel its traffic through the active XSS Channel on the <a href="/application/xssshell/">XSS Shell </a>server. The XSS Tunnel converts the request and responds transparently to validate the HTTP responses and XSS Shell requests.</p> <p>Refer to <a href="/application/xss-tunnelling/">XSS Tunnelling paper</a> to read details.</p> <h2>Demonstration Video</h2> <p><a href="/download/xsstunnelling-video.zip">Download XSS Tunnelling demonstration video</a>. Video shows how to use XSS Tunnel to bypass NTLM by exploiting an example permanent XSS.</p> <h2>Download</h2> <p><a href="/download/xssshell-xsstunnell.zip">Download package</a> includes following files :</p> <ul> <li>Binary Release of XSS Tunnel v1.0.8</li> <li>.NET Solution + Source Code for XSS Tunnel v1.0.8</li> <li>XSS Tunnelling White Paper</li> <li>XSS Shell v0.6.2 Release (ASP files, database and documentation)</li> </ul> <p>&nbsp;</p> XSS Shell | Content Mon, 10 Nov 2008 14:11:20 GMT http://labs.portcullis.co.uk/application/xssshell/ <p>XSS Shell is powerful a XSS backdoor and zombie manager. This concept first presented by &quot;XSS-Proxy - http://xss-proxy.sourceforge.net/&quot;. Normally in XSS attacks attacker has one shot, in XSS Shell you can interactively send requests and get responses from victim. you can backdoor the page.</p> <p>You can steal basic auth, you can bypass IP restrictions in administration panels, you can DDoS some systems with a permanent XSS vulnerability etc. Attack possibilities are limited with ideas. Basically this tool demonstrates that you can do more with XSS.</p> <h2>Download</h2> <p>This package includes the latest version of XSS Shell and <a href="/application/xss-tunnelling/xss-tunnel/">XSS Tunnel</a>. XSS Shell can be used without XSS Tunnel, however you'll get more out of it with <a href="/application/xss-tunnelling/xss-tunnel/">XSS Tunnel</a>.&nbsp; </p> <p><a href="/download/xssshell-xsstunnell.zip ">Download SS Shell and XSS Tunnel</a></p> <h2>Features</h2> <p>XSS Shell has several features to gain whole access over victim. Also you can simply add your own commands.</p> <p>Most of the features can enable or disabled from configuration or can be tweaked from source code.</p> <ul> <li>Regenerating Pages <ul> <li>This is one of the key and advanced features of XSS Shell. XSS Shell re-renders the infected page and keep user in virtual environment. Thus even user click any links in the infected page he or she will be still under control! (within cross-domain restrictions) In normal XSS attacks when user leaves the page you can't do anything</li> <li>Secondly this feature keeps the session open so even victim follow an outside link from infected page session is not going to timeout and you will be still in charge.</li> </ul> </li> <li>Keylogger</li> <li>Mouse Logger (click points + current DOM)</li> <li>Built-in Commands;<br /> <ul> <li>Get Keylogger Data</li> <li>Get Current Page (Current rendered DOM / like screenshot)</li> <li>Get Cookie</li> <li>Execute supplied javaScript (eval)</li> <li>Get Clipboard (IE only)</li> <li>Get internal IP address (Firefox + JVM only)</li> <li>Check victim's visited URL history</li> </ul> </li> </ul> <h2><br /> Installation</h2> <p>XSS Shell uses ASP + MS Access database as backend but you can simply port them into any other server-side solution. You just need to stick with simple communication protocol.</p> <h3>Install Admin Interface</h3> <ol> <li>Copy &quot;xssshell&quot; folder into your web server</li> <li>Copy &quot;db&quot; to a secure place (below root)</li> <li>Configure &quot;database path&quot; from &quot;xssshell/db.asp&quot;</li> <li>Modify hard coded password in db.asp [default password is : w00t]</li> <li>Now you can access admin interface from something like http://[YOURHOST]/xssshell/</li> </ol> <h3>Configure XSS Shell for communication;</h3> <ol> <li>Open xssshell.asp</li> <li>2. Set &quot;SERVER&quot; variable to where your XSSShell folder is located. i.e: &quot;http://[YOURHOST]/xssshell/&quot;;</li> <li>3. Be sure to check &quot;ME&quot;, &quot;CONNECTOR&quot;, &quot;COMMANDS_URL&quot; variables. If you changed filenames, folder names or some kind of different configuration you need modify them.</li> </ol> <p>Now open your admin interface from your browser,<br /> <br /> To test it, just modify &quot;sample_victim/default.asp&quot; source code and replace &quot;http://attacker:81/release/xssshell.js&quot; URL with your own XSS Shell URL. Open &quot;sample_victim&quot; folder in some other browser and may be upload in to some other server.</p> <p>Now you should see a zombie in admin interface. Just write something into &quot;parameters&quot; textarea and click &quot;alert()&quot;. You should see an alert message in victim's browser.</p> <p><br /> Security Notes</p> <ul> <li>As a hunter be careful about possible &quot;Backfire&quot; in getSelfHTML(). Someone can hack you back or track you by another XSS or XSS Shell attack.</li> <li>Checkout &quot;showdata.asp&quot; and implement your own &quot;filter()&quot; function to make it safer for you.</li> <li>Put &quot;On error resume next&quot; to db.asp, better modify your web server to not show any error.</li> </ul> <h2>How to Extend</h2> <p>First implement new feature to xssshell.asp</p> <ol> <li>Add new enum for your control <ul> <li>Set a name and unique number like &quot;CMD_GETCOOKIE&quot;</li> <li>var CMD_SAMPLE = 78;</li> <li>Set datatype for your response (generally TEXT),</li> <li>dataTypes[CMD_SAMPLE] = TEXT;</li> </ul> </li> <li>Write your function and add it to page <ul> <li>function cmdSample(){return &quot;yeah working !&quot;}</li> </ul> </li> <li>Call it <ul> <li>Go inside to &quot;function processGivenCommand(cmd)&quot;</li> <li>Add a new case like &quot;case CMD_SAMPLE:&quot;</li> </ul> </li> <li>Report it back <ul> <li>Inside the case call log;<br /> &quot;log(cmdSample(), dataTypes[cmd.cmd], cmd.attackID, &quot;waitAndRun()&quot;);&quot;</li> </ul> </li> </ol> <p>Secondly Implement it to admin interface;</p> <ul> <li>In db.asp just add a new element to &quot;Commands&quot; array (command name, command unique number, description).<br /> <br /> i.e. &quot;cmdSample()&quot;,78,&quot;Command sample ! Just returns a message&quot;</li> </ul> <p>There are parameters and lots of helper in the code. Check out other commands for reference. <br /> <br /> Enable debug feature to debug your new commands easily.</p> <h2>External Libraries</h2> <ul> <li>moo.ajax -moofx.mad4milk.net</li> <li>script.aculo.us - (http://script.aculo.us, http://mir.aculo.us)</li> </ul> sucrack | Content Mon, 31 Mar 2008 16:21:52 GMT http://labs.portcullis.co.uk/application/sucrack/ <p>sucrack is a multithreaded Linux/UNIX tool for brute-force cracking local user accounts via su.</p> <p>This tool comes in handy when you've gained access to a low-privilege user account but are allowed <i>to su</i> to other users. Many su implementations require a pseudo terminal to be attached in order to take the password from the user. This can't be easily achieved with a simple shell script. This tool, written in C, is highly efficient and can attempt multiple logins at the same time.</p> <p>Please be advised that using this tool will take a lot of the CPU performance and fill up the logs quite quickly. sucrack is so far known to be running on FreeBSD, NetBSD, Linux.</p> <p>Check out the <a href="/content/sucrack/usage/">Usage</a> and <a href="/content/sucrack/examples/">Examples</a> page for more information.</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> rmiInfo | Content Mon, 31 Mar 2008 14:49:45 GMT http://labs.portcullis.co.uk/application/rmiInfo/ <p>rmiInfo is a tool to help extract information from Java Remote Method Invocation (RMI) services, which can then be used to find possible security vulnerabilities. The main aim being to identify the location of the RMI stub. If one is able to find the stub, then this is the first step in being able to construct java code to talk directly to the RMI service.</p> <p>rmiInfo is able to not only extract information from RMI registries but also RMI services as well.</p> <p>From a registry it is able to extract the following information:</p> <ul> <li>Name of attached services.</li> <li>Location of the service (IP address and port number).</li> <li>Name of the stub interface.</li> </ul> <p>From an RMI service it is able to extract the following information:</p> <ul> <li>Location of remotely deployed code.</li> </ul> <p>Thus if you combine the information for the service and the registry, you are able to determine the location and name of remotely deployed stubs.</p> <p>Other features of rmiInfo:</p> <ul> <li>If it finds an RMI registry, it will recursively scan all the services identified.</li> <li>Platform independent (Java based).</li> </ul> <p>&nbsp;</p> 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> phrasen|drescher | Content Fri, 27 Jun 2008 11:28:34 GMT http://labs.portcullis.co.uk/application/phrasen-drescher/ <p>phrasen|drescher is a modular and multi processing pass phrase cracking tool. In version 1.1 it comes with two plugins with the purposes to:</p> <ul> <li>crack pass phrases of RSA or DSA keys</li> <li>crack MS SQL 2000/2005 SHA1 hashes</li> <li>remote SSHv2 account brute forcing</li> <li>HTTP login form account cracking</li> </ul> <p>A simple plugin API allows an easy development of new plugins.</p> <p>Further features are:</p> <ul> <li>Modular</li> <li>Multi Processing</li> <li>Dictionary attack with or without permutations (uppercase, lowercase, l33t, etc.)</li> <li>Bruteforce attacks for custom character sets</li> <li>Runs on FreeBSD, NetBSD, OpenBSD, MacOS and Linux</li> </ul> <p>Check out the <a href="/content/phrasen-drescher/usage/">Usage</a> and <a href="/content/phrasen-drescher/examples/">Examples</a> page for more information.</p>