Using Nessus Thorough Checks for In-depth Audits
Nessus users have a wide range of powerful options whose functionality
is critical to a successful vulnerability scan, but whose meaning may not be completely
clear. An example of this is the “Thorough tests” option. There is more to this
option than meets the eye and knowing how to properly use it will help you
customize your scan policies to your specific needs. By default, this option is
disabled; however, of the more than 34,000 plugins available with Nessus, over
900 behave differently if this option is enabled. This blog describes what the feature
does and provides some examples of where the option should or should not be
used.
The “Thorough tests” option is located in the scan policy “Preferences” section of the Nessus 4.x web interface. Within this section choose the “Plugin” dropdown and select “Global variable settings”:
To
use this option, click on the “Thorough tests (slow)” checkbox, which will
trigger the “thorough_tests” keyword within the Nessus plugin script files
(.nasl). The following sections describe its functionality.
Enables More Complete Checks
The
main advantage, of course, is a more thorough vulnerability scan. Since not all
Nessus scans require a full plugin run, certain plugins will not run unless
“Thorough tests” is enabled. For example, some of the web application specific
tests, available through the built-in Web Application
functionality of Nessus, require both this option and “Enable CGI scanning”
to complete.
Enables Multiple Matches
The
“Thorough Tests” option causes some plugins to continue searching for multiple
matches rather than stopping after the first one. For example, the Joomla_components_controller_lfi.nasl
script tests for a local file inclusion issue affecting various components of Joomla!. Normally, the plugin will stop
checking after it finds the first affected component. If you have multiple
components that are affected, that means you will have to scan and then patch,
scan again, patch a second component, scan yet again, patch a third component...
if the “Thorough tests” option is enabled, Nessus will check for each possible
issue and report them as a group, saving time and effort.
Looks for Services on “non-standard” Ports
Nessus’
generic service tests do look for services listening on non-standard ports without
“Thorough tests” being enabled. However, additional specific service-related
tests, such as oracle_detect.nbin and rmiregistry_detect.nasl, will only look
at well-known ports by default. To probe even more non-standard ports for these
specific service-related tests, the “Thorough tests” option must be enabled. Use
of the “Thorough tests” option is critical in environments where non-standard
ports are in use.
To
enable this option while not running the tests against non-standard ports at
the same time, disable the "Probe services on every port" global
settings option. This will leverage the benefits of “Thorough tests” without
the added traffic of scanning against non-standard ports.
Checks Locations Not Searched During a Regular Scan
Some tests, such as the Google Chrome detection plugin, will check the system registry for settings not tied to a particular user by default. This can pose a problem on multi-user systems since Google Chrome does a user-based install and only stores information in user-specific locations within the registry. Enabling “Thorough tests” causes this plugin to scan users’ directories and provides a much higher rate of detection.
Conclusion
Of
course, there can be disadvantages to using the “Thorough Tests” option. As the
name implies, a “Thorough tests” scan is more comprehensive than a standard scan
and can take much longer to run. In addition, the added tests performed by this
option can have a risk of adversely affecting fragile hosts or services. Where
scan timeframes are less of an issue and target stability is certain, the
benefit of using this option outweighs the drawbacks.
Related Articles
- Nessus