Portcullis Labs - Tools http://labs.portcullis.co.uk Labs Portcullis updates. en Labs portcullis Tue, 22 Feb 2011 11:15:48 GMT http://backend.userland.com/rss 60 Labs Portcullis hhttp://labs.portcullis.co.uk/mg/logo.gif http://labs.portcullis.co.uk 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, 29 Oct 2008 15:28:02 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 rel="nofollow" href="http://www.vimeo.com/1536040?pg=embed&amp;sec=1536040">See a sample exploitation video.</a></li> <li><a href="http://code.google.com/p/bsqlhacker/issues/list">Bug Report</a></li> <li><a href="http://bsql.uservoice.com/">Feature Request</a><a href="http://code.google.com/p/bsqlhacker/issues/list"><br /> </a></li> </ul> <h2>Source Code Repository</h2> <ul> <li><a href="http://code.google.com/p/bsqlhacker/ ">Public SVN Server</a> <i>(including nightly builds development environment)</i></li> </ul> <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> 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>