In this high level comparison of Nessus, Nexpose and OpenVAS I have made no attempt to do a detailed metric based analysis. The primary reason for this is that it would be time consuming and difficult to get a conclusive result. This is due to the large differences in not only detection but also categorization of vulnerabilities by the different solutions.
What I have done is targeted the 3 different vulnerability scanners in a "black box" test against a Metasploitable version 2 Virtualbox.
In 2010 I planned on doing an OpenVAS vs Nessus review, well it seems time got away and now its the middle of 2012. There is now a new high profile vulnerability scanner on the block; Nexpose from Rapid 7 has gained attention in recent years due to the adoption of its rock star big brother Metasploit.
In the testing I am deliberately focusing on the network vulnerability scanning capabilities rather than looking at the web application vulnerability detection in detail. It is my belief that a network vulnerability scanner should be capable of identifying poorly configured services, default services that have poor security and software with known security vulnerabilities.
Notes on the Vulnerability Scanner Testing
- External tools that OpenVAS can use have not been installed (apart from Nmap), these external tools being mostly web application vulnerability detection tools including wapiti, Arachni, Nikto and Dirb.
- OpenVAS version 5 has been tested with the full scan profile (ports were all TCP ports scanned with Nmap and top 100 UDP ports).
- Nessus version 5 was launched using the External network scan profile (also tested with Internal Network Scan however results were similar).
- The Nexpose scanner was executed with the Full audit profile.
- No tweaking of default scan profiles was undertaken.
- No credentials were used during the scan, it was an external network service focused scan.
These results are only a quick overview I have not followed up every discovered vulnerability to determine false positives and false negatives.
Edit 1st of September 2012 (clarification of scanner versions and plugins used)
Nessus : The home feed was used for the Nessus testing. According to the Tenable website The Nessus HomeFeed gives you the ability to scan your personal home network (up to 16 IP addresses) with the same high-speed, in-depth assessments and agentless scanning convenience that ProfessionalFeed subscribers enjoy.. Note when using the Nessus scanner with the home feed it cannot be used in a professional or commercial environment.
OpenVAS : The default OpenVAS 5 open source signatures and software was used. This is free to use under the GNU General Public License (GNU GPL).
Nexpose : The community version of Nexpose was tested. According to the Rapid7 website " Nexpose Community Edition is powered by the same scan engine as award-winning Nexpose Enterprise Edition and offers many of the same features." With this version you can scan up to 32 IP addresses.
And now for the results.....
Full Audit Scan Profile
highlight the wide variation in results from the different scanners.
Analysing a specific sample of Security Issues
In order to look at some more meaningful results I have examined a sample set of exploitable and mis-configured services on the Metasploitable system.
At the last minute I decided to include Nmap with its NSE scripts against the Metasploitable host. The results were interesting to say the least, while not a full blown vulnerability scanner the development of the NSE scripting ability in Nmap makes this powerful tool even more capable.
the numbers get more interesting...
These are the numbers of vulnerabilities correctly discovered and rated by each vulnerability scanner; from the sample set of exploitable services.
7 out of 15 security holes identified
Anonymous FTP Access
VsFTPd Smiley Face Backdoor
Weak Host Keys
Query String Parameter Injection
known backdoor drops to root shell
/* exported and writable
weak auth (root with no password)
|RMI REGISTRY 1099|
Insecure Default Config
weak auth (postgresql)
weak auth (password)
Unreal IRCd Backdoor
weak auth (tomcat/tomcat)
Notes about the sample set of tests
- All of the above vulnerabilities and mis-configurations with the exception of Anonymous FTP can be exploited to gain shells on the system (in most cases with root privileges) using Metasploit or other methods.
- There are a number of examples where the scanners do not detect weak or default credentials. While we were not specifically testing passwords, if MySQL is being checked for weak credentials why not other services?
- Items such as the INGRESLOCK backdoor and the Unreal IRCd vulnerability are fairly obscure, however this makes them good examples for testing overall capability.
- The Metasploitable version 2 release page has good examples of exploiting many of the mis-configurations in this list. This highlights not only how a poorly configured service can lead to a root shell but also the fact that vulnerability scanners need to be able to detect these types of security related mis-configurations.
Vulnerability scanning is an important security control that should be implemented by any organisation wishing to secure their IT infrastructure. It is recommended by the SANS Institute as a Critical Control and by the US based NIST as a Security Management Control.
The results show significant variation in discovered security vulnerabilities by the different tools. It may be helpful to compare vulnerability scanners to anti-virus solutions; they are both an important security control that can enhance an organisations security posture. However as with anti-virus, a vulnerability scanner will not find all the bad things.
This will be common knowledge for most in the security industry who have performed network vulnerability testing. When performing vulnerability scanning, it is necessary to check the results for accuracy (false positives) and to actively look for things that were missed (false negatives).
My recommended approach to vulnerability scanning is to:
- tune the vulnerability scan profiles to suit your requirements
- perform detailed analysis of the results
- run secondary tools (nmap, a secondary vulnerability scanning solution and / or specialised tools). The use of multiple tools will provide a greater level of coverage and assist in confirming discovered vulnerabilities.
Feedback and corrections are most welcome, drop me a mail - peter (at) hackertarget.com or use the comments below.