[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Plunging Through the Palo Alto Networks Firewall



Class: 		Bypassing Intended Security Controls
CVE: 		<NA>
Remote: 	Yes 
Local: 	Yes 
Published: 	August 11, 2010
Timeline:	Submission to MITRE: August 11, 2010
Credit: 	Jeromie Jackson CISSP, CISM
		COBIT & ITIL Certified
		President- San Diego Open Web Application Security Project (OWASP)
		Vice President- San Diego Information Audit & Control Association (ISACA)
		SANS Mentor
		LinkedIn: www.linkedin.com/in/securityassessment
		Blog: www.JeromieJackson.com
		Twitter: www.twitter.com/Security_Sifu
		Cell: 832-378-RISK (7475)

Validated Vulnerable: 	
		All versions prior to 12/07/2010

Discussion: 
Palo Alto Networks firewall claims it can ?identify and control applications regardless of port, protocol, encryption, or evasive tactic.?  Due to the need for organizations to support protocols and applications not yet categorized by Palo Alto there is an underlying logic issue.  Unless a company is willing to disable all services except for those well-known by the Palo Alto firewall risk will be constantly present.  I spent a couple hours testing the Palo Alto Network firewall to see if I could puncture the firewall and achieve remote command-and-control.  

The Palo Alto Networks firewall uses ?Application Visibility? and ?Application Control?  functions in order to identify services and apply controls across the firewall segments.  An attacker can leverage a phishing scam or a vulnerabile online forum to distribute a remote command-and-control payload to a machine behind the firewall.  The attacked machine will then initiate an outbound command-and-control connection.  Palo Alto Networks Firewall simply identifies it as ?Unknown TCP.?  


Exploit: 

First, I thought about using HTTP to traverse the firewall and remotely control a device behind the firewall.  I successfully created a command-and-control session which the firewall identified as generic HTTP traffic.  I leveraged the following script from The Hacker's Choice (THC):

http://www.packetstormsecurity.org/groups/thc/rwwwshell-1.6.perl


Second, I generated a Metasploit reverse_tcp command-and-control payload.  I uploaded the payload to a website, generated a phishing email, and had the victim machine go to a malicious URL.  Command-and-Control was achieved and the firewall simply characterized it as ?Unknown TCP?  traffic.  Metasploit has the ability to encode the payloads in a plethora of ways- Palo Alto Networks will need to address all potential encodings in order to mitigate the risk.


I worked with the vendor for several months and they recently came out with a signature update that will identify Metasploit.  Due to evasion techniques such as encoding, payload packing, and other ways to evade filters I believe the signatures may not catch all payloads generated by Metasploit.  I will be doing a little more work in the near future to run a small battery of tests to evaluate the detection rates.  

Below are the details pertaining to the update.  I find it odd it was marked as a medium severity.  Having these Metasploit remote command-and-control sessions enabled me to gain access to password hashes, install keyloggers, start remote desktop VNC sessions, hide my process, and to pivot off the attacked machine to gain further access into the environment.

Vulnerability Signatures Summary
Severity
ID
Attack Name
CVE ID
Vendor ID
Default Action
medium
33515
Metasploit Meterpreter Connection Attempt


alert
medium
33516
Metasploit Meterpreter Connection Attempt


alert
high
33616
IAX2 Asterisk Remote Denial of Service
CVE-2007-3763

alert
high
33446
Struts2 and XWork remote command execution Vulnerability
CVE-2010-1870

alert
critical
33605
Microsoft Office Memory Corruption Vulnerability
CVE-2008-0118
MS08-016
alert
high
33606
Microsoft Word Crafted SmartTag Record Code Execution Vulnerability
CVE-2008-2244
MS08-042
alert
critical
33607
Microsoft Excel Record Parsing Remote Code Execution Vulnerability
CVE-2008-3006
MS08-043
alert
critical
33608
Microsoft PowerPoint Picture Index Variant Remote Code Execution Vulnerability
CVE-2008-0121
MS08-051
alert
critical
33609
Microsoft PowerPoint List Value Parsing Remote Code Execution Vulnerability
CVE-2008-1455
MS08-051
alert
medium
33621
Oracle Web Cache Admin Module Denial of Service Vulnerability
CVE-2002-0386

alert
high
33627
Adobe Flash Player loadBitmap Memory Corruption Vulnerability
cve-2010-3648
APSB10-26
alert

Solution: 
A patch will be required from the vendor.  In order for the vendor to meet its claims of ?identifying and controlling applications regardless of port, protocol, encryption, or evasion techniques,? it will be required to gather signatures from at minimum the most prevalent command-and-control tools available in the wild and create identification techniques to mitigate the risk.  Users could block all non-identified application traffic passing through the firewall to mitigate the risk, however this is generally not a viable option.  While their technology is proving to be a strong firewall in the market the marketing statements are a bit lofty.