+ All Categories
Home > Documents > NessusClient 4.0 User Guide

NessusClient 4.0 User Guide

Date post: 10-Jul-2015
Category:
Upload: carlos-valle
View: 135 times
Download: 0 times
Share this document with a friend
Popular Tags:

of 50

Transcript

NessusClient 4.0 User GuideJuly 24, 2009 (Revision 7)The newest version of this document is available at the following URL: http://www.nessus.org/documentation/NessusClient_4.0_User_Guide.pdf

Table of ContentsTABLE OF CONTENTS ........................................................................................................................................2 INTRODUCTION ...................................................................................................................................................3 NESSUSCLIENT OVERVIEW ...........................................................................................................................3 DESCRIPTION ............................................................................................................................................................ 3 SUPPORTED PLATFORMS ..........................................................................................................................................4 INSTALLATION .....................................................................................................................................................4 UNIX/LINUX PLATFORM ...........................................................................................................................................4 Upgrading the NessusClient Package ......................................................................................................5 Removing ...........................................................................................................................................................6 WINDOWS PLATFORM...............................................................................................................................................8 Removing ...........................................................................................................................................................9 MAC OS X PLATFORM ..............................................................................................................................................9 Removing ...........................................................................................................................................................9 OPERATION .......................................................................................................................................................... 10 OVERVIEW ............................................................................................................................................................... 10 .nessus File Format ...................................................................................................................................... 10 Launch NessusClient .................................................................................................................................... 10 CONNECTION MANAGER ......................................................................................................................................... 11 POLICY OVERVIEW.................................................................................................................................................. 13 CREATING A POLICY ............................................................................................................................................... 14 Policy .................................................................................................................................................................. 14 Options .............................................................................................................................................................. 16 Credentials ....................................................................................................................................................... 18 Plugin Selection ............................................................................................................................................. 23 Network ............................................................................................................................................................ 25 Advanced Tab ................................................................................................................................................. 27 CREATING A SCAN TARGET LIST........................................................................................................................... 35 GENERATING AND USING .NESSUS FILES ............................................................................................................ 36 LAUNCHING A SCAN ............................................................................................................................................... 37 REPORTS ................................................................................................................................................................. 37 Report Filters .................................................................................................................................................. 39 Exporting the Report ................................................................................................................................... 41 Working With Stylesheets .......................................................................................................................... 41 OTHER NESSUS CLIENTS .............................................................................................................................. 44 UNIX COMMAND LINE INTERFACE ......................................................................................................................... 44 Converting a Report ..................................................................................................................................... 45 Command Line Using .nessus Files ........................................................................................................ 45 Scan Command .............................................................................................................................................. 46 SECURITY CENTER .................................................................................................................................................. 47 ABOUT TENABLE NETWORK SECURITY ................................................................................................ 50

Copyright 2004-2009, Tenable Network Security, Inc.

2

IntroductionThis document describes installation and use of Tenable Nework Securitys NessusClient 4. Please share your comments and suggestions with us by emailing them to [email protected]. The NessusClient is a GUI interface to the Nessus vulnerability scanner. To use the client, you must have an operational Nessus scanner deployed and be familiar with its use. Standards and Conventions Throughout the documentation, filenames, daemons and executables are indicated with a courier bold font such as gunzip, httpd and /etc/passwd. Command line options and keywords will also be printed with the courier bold font. Command line options may or may not include the command line prompt and output text from the results of the command. Often, the command being run will be boldfaced to indicate what the user typed. Below is an example running of the Unix pwd command. # pwd /opt/sc3/daemons # Important notes and considerations are highlighted with this symbol and grey text boxes. Tips, examples and best practices are highlighted with this symbol and white on blue text.

NessusClient OverviewDescriptionNessusClient is a commercial product developed and maintained by Tenable Network Security to provide an optimized Graphical User Interface (GUI) to the Nessus scanner. The client may be used from any system on the network to interface with deployed Nessus scanners. NessusClient is based on a clean code base that is specifically designed for the latest Nessus features without containing unnecessary legacy code. This makes NessusClient faster and more efficient than previous Nessus clients. As of Nessus 4, all platforms draw from the same code base eliminating most platform specific bugs and allowing for faster deployment of new features. The primary features are: Generates .nessus files that Tenable products will use as the standard for vulnerability data and scan policy. A policy session, list of targets and the results of several scans can all be stored in a single .nessus file, that can be exported easily. Please refer to the Nessus File Format guide for more details. The GUI displays scan results in real-time so you do not have to wait for a scan to complete to view results.

Copyright 2004-2009, Tenable Network Security, Inc.

3

Provides unified interface to the Nessus scanner regardless of base platform. The same functionalities exist on Mac OS X, Windows and Linux.

Supported PlatformsNessusClient is available and supported for a variety of operating systems and platforms: Red Hat ES 4 (i386) and ES 5 (i386 and x86-64) Fedora Core 10 (i386 and x86-64) and 11 (i586 and x86-64) Debian 5 (i386, x86-64) Ubuntu 8.04 and 8.10 (i386, amd64) Mac OS X 10.4 / 10.5 (bundled with Nessus server) WindowsXP, Server 2003, Server 2008 and Vista (i386, x86-64) (bundled with Nessus server)

InstallationYou must have X Window System (a.k.a X or X11) installed on the system in order to run the NessusClient.

Unix/Linux PlatformDownload the latest version of Nessus from http://www.nessus.org/download/ or through the Tenable Support Portal. Unless otherwise noted, all commands must be performed as the systems root user. The following table provides installation instructions for NessusClient on all supported Unix platforms: Platform Installation Instructions

Red Hat ES 4 (32 bit only), ES 5 (32 and 64 bit) Install Command Use one of the appropriate commands below that correspond to the version of of Red Hat you are running: # rpm ivh NessusClient-4.x.x-es4.i386.rpm # rpm ivh NessusClient-4.x.x-es5.i386.rpm # rpm ivh NessusClient-4.x.x-es5.x86_64.rpm Fedora Core 10 and 11 (32 and 64 bit) Install Command Use one of the appropriate commands below that correspond to the version of Fedora Core you are running: # rpm ivh NessusClient-4.x.x-fc10.i386.rpm # rpm ivh NessusClient-4.x.x-fc10.x86_64.rpm # rpm ivh NessusClient-4.x.x-fc11.i586.rpm

Copyright 2004-2009, Tenable Network Security, Inc.

4

# rpm ivh NessusClient-4.x.x-fc11.x86_64.rpm SUSE 9.3, 10 Install Command Use one of the appropriate commands below that correspond to the version of SuSE you are running: # rpm ivh NessusClient-4.x.x-suse9.3.i586.rpm # rpm ivh NessusClient-4.x.x-suse10.0.i586.rpm Debian 5 (32 and 64 bit) Install Command Use one of the appropriate commands below that correspond to the version of Debian you are running: # dpkg -i NessusClient-4.x.x debian5_i386.deb # dpkg -i NessusClient-4.x.x debian5_amd64.deb Ubuntu 8.04 and 8.10 Install Command Use one of the appropriate commands below that correspond to the version of Ubuntu you are running: # # # # dpkg dpkg dpkg dpkg -i -i -i -i NessusClient-4.x.x NessusClient-4.x.x NessusClient-4.x.x NessusClient-4.x.x ubuntu804_i386.deb ubuntu804_amd64.deb ubuntu810_i386.deb ubuntu810_amd64.deb

Once installed, the NessusClient software will reside in the /opt/nessus directory with the following sub-directory structure: # ls -l /opt/nessus total 32 drwxr-xr-x 2 root root drwxr-xr-x 2 root root drwxr-xr-x 3 root root drwxr-xr-x 3 root root

4096 4096 4096 4096

Feb Feb Feb Feb

26 26 26 26

14:18 14:18 14:18 14:18

bin lib plugins var

Upgrading the NessusClient PackageTo upgrade to a new version of the NessusClient software, obtain the new version and make sure you have exited from the GUI. Run the appropriate command for your platform. For example, on a Red Hat system the command would be similar to the following: Platform Upgrade Instructions

Red Hat ES 4 (32 bit only), ES 5 (32 and 64 bit) Upgrade Command Use one of the appropriate commands below which correspond to the version of of Red Hat you are running:

Copyright 2004-2009, Tenable Network Security, Inc.

5

# rpm Uvh NessusClient-4.x.x-es4.i386.rpm # rpm Uvh NessusClient-4.x.x-es5.i386.rpm # rpm Uvh NessusClient-4.x.x-es5.x86_64.rpm Fedora Core 10 and 11 (32 and 64 bit) Upgrade Command Use one of the appropriate commands below that correspond to the version of Fedora Core you are running: # # # # SUSE 9.3, 10 Upgrade Command Use one of the appropriate commands below that correspond to the version of SuSE you are running: # rpm Uvh NessusClient-4.x.x-suse9.3.i586.rpm # rpm Uvh NessusClient-4.x.x-suse10.0.i586.rpm Debian 5 (32 and 64 bit) Upgrade Command Use one of the appropriate commands below that correspond to the version of Debian you are running: # dpkg -i NessusClient-4.x.x debian5_i386.deb # dpkg -i NessusClient-4.x.x debian5_amd64.deb Ubuntu 8.04 and 8.10 Upgrade Command Use one of the appropriate commands below that correspond to the version of Ubuntu you are running: # # # # dpkg dpkg dpkg dpkg -i -i -i -i NessusClient-4.x.x NessusClient-4.x.x NessusClient-4.x.x NessusClient-4.x.x ubuntu804_i386.deb ubuntu804_amd64.deb ubuntu810_i386.deb ubuntu810_amd64.deb rpm rpm rpm rpm Uvh Uvh Uvh Uvh NessusClient-4.x.x-fc10.i386.rpm NessusClient-4.x.x-fc10.x86_64.rpm NessusClient-4.x.x-fc11.i586.rpm NessusClient-4.x.x-fc11.x86_64.rpm

RemovingTo remove NessusClient, you must first determine what package name the NessusClient is registered as within the systems database. This name will not be the same as the filename used for installation. Platform Remove Instructions

Red Hat ES 4 (32 bit only), ES 5 (32 and 64 bit) Fedora Core 10 and 11(32 and 64 bit) SUSE 9.3, 10

Copyright 2004-2009, Tenable Network Security, Inc.

6

Remove Command

Determine the package name: # rpm qa | grep Nessus Use the output from the above command to remove the package: # rpm -e

Sample Output

# rpm qa | grep i nessus NessusClient-4.0.0-es5 # rpm -e NessusClient-4.0.0-es5 #

Debian 5 (32 and 64 bit) Remove Command Determine the package name: # dpkg l | grep i nessus Use the output from the above command to remove the package: # dpkg -r Sample Output # dpkg l | grep nessus ii nessus 4.0.0 Client # dpkg -r nessus # Ubuntu 8.04 and 8.10 Remove Command Determine the package name: # dpkg l | grep i nessus Use the output from the above command to remove the package: # dpkg -r Sample Output # dpkg -l | grep -i nessus ii nessus 4.0.0 Scanner # Version 4 of the Nessus Version 4 of the Nessus

This will not remove the configuration files or files that were not part of the original installation. Files that were part of the original package but have changed since installation will not be removed as well. To completely remove the remaining files use the following command: # rm -rf /opt/nessus

Copyright 2004-2009, Tenable Network Security, Inc.

7

Do not remove /opt/nessus if you are running the Nessus server on the same system!

Windows PlatformNessusClient for Windows is bundled with Nessus Windows. If you are upgrading from a previous version of Nessus Windows, there is no need to remove the package. You can select to either install the NessusClient, Nessus Server or both. There are detailed installation instructions in the Nessus 4.0 Installation Guide located at http://www.tenablesecurity.com/documentation/. Integrating with Older Nessus Windows If you are running a version of Nessus Windows that is older than 3.2, it is recommended that you upgrade to the newer version which supports the .nessus file format. The Import feature is designed to take older scan policies and scan results that were generated using the older Nessus Windows application and convert them into a new .nessus file, which can then be used in the new Nessus Client. From the NessusClient window, click on the File tab in the upper left hand corner of the window and select Import. The Import link is only available if there are older scan policy files or older scan result files present in the Tenable directory on the local machine. On Windows, the location of these files is C:\Documents and Settings\\Tenable\Nessus\config and C:\Documents and Settings\\Tenable\Nessus\reports. If these older files are not present on the local machine in the proper directories, the Import link will be grayed out in the NessusClient GUI. To open the file, go to File -> Open in the NessusClient GUI and select the .nessus file you wish to open. Once the new window opens, you should be able to see all of the old scan policies in the Select a scan policy window, and all of the old scan results should appear on the Report tab under the Report drop-down menu. After initially connecting to the local Nessus server after an upgrade, you may receive a message indicating the SSL certificate has changed along with a warning. This is expected after the upgrade, but should not appear more than one time.

Copyright 2004-2009, Tenable Network Security, Inc.

8

RemovingTo remove Nessus, under the Control Panel open Add or Remove Programs. Select Nessus and then click on the Change/Remove button. This will open the InstallShield Wizard. This will remove both the NessusClient and the Nessus Windows server. Follow the directions in this wizard to completely remove Nessus. You will be prompted to decide if you want to remove the entire Nessus folder. Reply Yes only if you do not want to retain any scan results or policies that you may have generated.

Mac OS X PlatformNessusClient for Mac OS X is bundled with Nessus for Mac OS X. Download the latest package of Nessus for mMac OS X to your system. Double click on the file to mount it on the desktop. Double click on the Nessus-4.x.x.dmg file which will mount the disk image and make it appear on the desktop. Then, follow the steps of the installer. Once the volume Nessus 4 appears on the desktop, double-click on it to begin installation. You can select to either install the NessusClient, Nessus server or both by selecting the Customize button in the installer when you reach the Installation Type step. By default, both modules are installed on the system. If you are also installing the Nessus server, there are detailed installation instructions in the Nessus Installation Guide located at http://www.tenablesecurity.com/documentation/.

RemovingTo remove Nessus, stop the Nessus service and delete the following directories: /Library/Nessus

Copyright 2004-2009, Tenable Network Security, Inc.

9

/Applications/Nessus /Library/Receipts/Nessus* If you are unfamiliar with Unix command line usage on a Mac OS X system, please contact Tenable Support for assistance. There are freeware tools such as DesInstaller.app (http://www.macupdate.com/info.php/id/7511) and CleanApp (http://www.macupdate.com/info.php/id/21453/cleanapp) that can also be used to remove the NessusClient and Nessus Server packages. Tenable has no affiliation with these tools and they have not been tested for removing Nessus.

OperationOverviewNessusClient provides a simple, yet powerful interface for managing vulnerability scanning activity.

.nessus File FormatNessusClient uses a specific file format (.nessus) for scan export and import. This format has the following advantages: XML based, for easy forward and backward compatibility and easy implementation. Self-sufficient: a single .nessus file contains the list of targets, the policies defined by the user, as well as the scan results themselves. Secure: Passwords are not saved in the file. Instead a reference to a password stored in a secure location on the local host is used. The process to create a .nessus file that contains the targets, policies and scan results is to first generate the policy and save it. Next, generate the list of target addresses and finally, run a scan. Once the scan is complete, all the information can be saved in a .nessus file by using the Save As option from the File menu. If you are saving to a previously generated .nessus file, the information is appended to the appropriate section of that file. You can also generate a .nessus file that contains the target addresses and/or policies but no results by saving the information before running a scan. If you run a scan at a later time, the information will be added to the Reports section of the .nessus file. Please see the NessusClient File Format document for more details on .nessus files.

Launch NessusClientTo launch the NessusClient GUI, perform the following: Windows - click on the Nessus Client icon on the desktop. Alternatively, it can be found via Start -> Programs -> Tenable Network Security -> Nessus -> Nessus Client Unix - either click on the desktop icon or enter the following command: # /opt/nessus/bin/NessusClient

Copyright 2004-2009, Tenable Network Security, Inc.

10

Mac OS X double click on the Nessus Client icon in the desktop. Alternatively, it can be found via Applications -> Nessus -> Nessus Client. A window will be displayed as follows:

Connection ManagerTo begin scanning, click the Connect button at the bottom to establish a connection to a Nessus Server. This will bring up the Connection Manager window that displays configured Nessus Servers:

Copyright 2004-2009, Tenable Network Security, Inc.

11

After the initial installation, the Connection Manager will list a single Nessus Server (localhost or Local Server on Mac OS X ) to connect to. The Windows version of the NessusClient is pre-configured with the local Nessus Server login and password. For Linux (X Window System) versions of the NessusClient that also have the Nessus server on the local host, you will need to add the Nessus login and password information that was generated by running the /opt/nessus/sbin/nessus-adduser command during the server installation. Please see the Nessus 4.0 Installation Guide for more information. Click on the Edit button if you need to edit the connection information or change the Nessus login or password. Click on the Save button to save the connection configuration. Selecting a server and clicking the Connect button will establish the connection and authenticate to the Nessus Server. To add a new connection, click the (+) button. The Edit Connection window will prompt you for the Connection name, Host name, port and authentication credentials:

Copyright 2004-2009, Tenable Network Security, Inc.

12

The Connection name only reflects how the entry will be displayed in the Connection Manager list. The Host name can be a host name or IP address. The Login and Password should be the credentials for the remote Nessus Server, not a user account on the machine. An alternative to credential based authentication is the use of a SSL certificate. This can be configured by clicking the SSL Setup button and providing the paths to the relevant files:

For more detailed information on initial SSL Certificate setup refer to the Nessus 4.0 Installation guide section titled: Configuring SSL Certificates in Linux/Unix and Configuring SSL Certificates in Windows. Save the configuration and click on the displayed scanner name to select it, then click on Connect. A window will appear displaying the connection attempt as follows:

Policy OverviewA Nessus policy consists of configuration options related to performing a vulnerability scan. These options include, but are not limited to: Parameters that control technical aspects of the scan such as timeouts, number of hosts, type of port scanner and more. Credentials for local scans (Windows, SSH, more), authenticated Oracle Database scans, HTTP, FTP, POP, IMAP or Kerberos based authentication. Granular plugin based scan specifications. Database compliance policy checks, report verbosity, service detection scan settings, Unix compliance checks and more.

Copyright 2004-2009, Tenable Network Security, Inc.

13

Creating a PolicyOnce you have connected to a Nessus server, you can create a custom policy by clicking on the + (Add Policy) button under the box with the heading Select a scan policy:. The Edit Policy window will be displayed as follows:

Note that there are six configuration tabs: Policy, Options, Credentials, Plugin Selection, Network and Advanced. For most environments, the default settings do not need to be modified, but they provide more granular control over the Nessus scanner operation. These tabs are described below. The Save button on the Edit Policy window will not save the policy to a .nessus file. If the policy is not saved to a file, it will not be available after you close the current session of the NessusClient. See the section titled Generating and Using .nessus Files later in this document for more information.

PolicyThe Policy tab enables you to name the policy and determine how the policy is saved.

Copyright 2004-2009, Tenable Network Security, Inc.

14

Use the Policy name field to set the name that will be displayed in the NessusClient to identify the policy. The check box option Share this policy across multiple sessions refers only to Nessus sessions on the local workstation, and only for the current user. Using this option means that this policy will be displayed as one of the default policies listed whenever the NessusClient is started or whenever the New Session option is selected from the main menu. In order for this setting to take effect, a policy must be saved from the main NessusClient window, via the main menu (either Save or Save As from the File option). Please see the section titled Generating and Using .nessus Files for more information on saving policies using this feature. By default, all passwords associated with the policy are encrypted. If the policy is saved to a .nessus file and that .nessus file is then copied to a different NessusClient, all passwords in the policy will be unusable by the second Nessus scanner as it will be unable to decrypt them. To resolve this issue, the Save credentials as clear text in policy option is provided. When selected, if the policy is saved to a .nessus file, all passwords will be saved to the file in clear text. The policy may then be copied to a second NessusClient and then re-saved with the Save credentials option, thus encrypting them again.

Copyright 2004-2009, Tenable Network Security, Inc.

15

If the policy should not store credentials in any manner, select the Do not save credentials option. The Comments box can be used to put any personal comments or information about the policy.

OptionsThe Options tab allows you to set global parameters related to Nessus behaviour and the plugins being run by Nessus.

The following table describes the available options: Option Number of hosts in parallel Number of checks in parallel Description Sets the maximum number of hosts that will be scanned simultaneously. Sets the maximum number of plugins that will be run on each host simultaneously. Nessus can run at very high speeds performing scans. Due to network limitations, particularly over WANs, you may need to slow the scans

Copyright 2004-2009, Tenable Network Security, Inc.

16

to optimize Nessus performance and avoid adverse impact to your network. Port scanner range Specifies which ports to scan. This option is useful to scan for particular vulnerabilities on specific ports. The default port range is to scan TCP ports defined in the nessusservices file. You can use a range such as 137-139 and separate individual ports or ranges with a comma 137-139,445,80 leaving out the quotes on each example. Specifying 1-65535 will scan all ports. Specifies that devices which have been identified to be adversely affected by scanning are not scanned. For example, a scan of a printer may result in the printer needing to be restarted. Using the Safe Checks option would prevent a device detected as a printer from being scanned. Enables the ability to specify a list of DNS named assets as your Network(s) to scan on the Scan tab rather than a single IP address or IP address ranges. When scanning for vulnerabilities on particular ports, this option tells the Nessus scanner that all other ports are closed. This prevents plugins that are targeted at ports outside your designated range from triggering. For example, if the port scanner range is set to 1-1024, using this option would prevent any plugins that check port 8080 from launching. Otherwise a plugin that checks this port will cause Nessus to scan it if it is open. This option tells the Nessus scanner to save the scan information to the Nessus server knowledge base for later use. Saves the details of the scan on the Nessus server. The resulting file can be checked to confirm that particular plugins were used and hosts were scanned. This section of options allows you to choose the way you wish to query your scan targets for open ports. This option will scan targets looking for a SNMP response. Nessus will attempt to guess the settings during a scan. If the setting is known and configured under the Advanced Tabs SNMP settings menu item, this will facilitate plugins that search for known SNMP vulnerabilities and produce more detailed audit results. For example, there are many Cisco router checks which determine the vulnerabilities present by examining the version of the returned SNMP string. This information is necessary for these audits.

Safe checks

Designate hosts by their DNS name Consider unscanned ports as closed

Save knowledge base on disk Log details of the scan on the server Port scanners to use: Nessus SNMP scanner

Copyright 2004-2009, Tenable Network Security, Inc.

17

Nessus SYN Scanner

This option engages Nessus built in SYN scanner to identify open ports on the targets. SYN scans are a popular method for conducting port scans and generally considered to be a bit less intrusive than TCP scans. The scanner sends a SYN packet to the port, waits for ACK reply and determines port state based on a reply, or lack of reply. This option engages Nessus built in TCP scanner to identify open TCP ports on the targets. This scanner is optimized and has some self tuning features. Further configuration for this scanner can be set under the Advanced Tabs Nessus TCP scanner menu item. This option engaged Nessus built in UDP scanner to identify open UDP ports on the targets. UDP is a stateless protocol, meaning that communication is not done with hand-shake dialogues. UDP based communication is not always reliable, and because of the nature of UDP services and screening devices, they are not always remotely detectable.

Nessus TCP Scanner

Nessus UDP Scanner

Netstat portscanner(SSH)

This option uses netstat to check for open ports from the local machine. It relies on the netstat command being available via a SSH connection to the target. This scan type is intended for Unix-based systems. This option uses netstat to check for open ports from the local machine. It relies on the netstat command being available via a WMI connection to the target. This scan type is intended for Windows-based systems. This option enables the pinging of remote hosts on multiple ports to determine if they are alive. LaBrea tarpits are a form of a honeypot. They are typically deployed to slow scanners down and present false hosts. With this feature enabled Nessus will attempt to identify such systems within certain parameters and not scan them.

Netstat portscanner(WMI)

Ping the remote host Scan for LaBrea tarpitted hosts

CredentialsServer Message Block (SMB) is a file sharing protocol that allows computers to share information transparently across the network. The Windows credentials drop-down menu item has settings to provide Nessus with information such as SMB account name, password and domain name. Providing this information to Nessus will allow it to find local information from a remote Windows host. For example, using credentials enables Nessus to

Copyright 2004-2009, Tenable Network Security, Inc.

18

determine if important security patches have been applied. Only expert security personnel should modify other SMB parameters from default settings.

If a maintenance SMB account is created with limited administrator privileges, Nessus can easily and securely scan multiple domains. Detailed configuration instructions are available at: http://www.nessus.org/documentation/nessus_domain_whitepaper.pdf Tenable recommends that network administrators consider creating specific domain accounts to facilitate testing. Nessus includes a variety of security checks for Windows NT, 2000, Server 2003 and XP which are more accurate if a domain account is provided. Nessus does attempt to try several checks in most cases if no account is provided. The Windows Remote Registry service allows remote computers with credentials to access the registry of the computer being audited. If the service is not running, reading keys and values from the registry will not be possible, even with full credentials. Please see the Tenable blog post titled Dynamic Remote Registry Auditing - Now you see it, now you dont! for more information. Users can select SSH settings from the drop-down menu and enter credentials for scanning Unix systems. These credentials are used to obtain local information from remote Unix systems for patch auditing or compliance checks. There is a field for entering the SSH user name for the account that will perform the checks on the target Unix system, along

Copyright 2004-2009, Tenable Network Security, Inc.

19

with either the SSH password or the SSH public key and private key pair. There is also a field for entering the Passphrase for the SSH key, if it is required. Nessus 4 supports blowfish-cbc, aes-cbc and aes-ctr cipher algorithms.

The most effective credentialed scans are those when the supplied credentials have root privileges. Since many sites do not permit a remote login as root, Nessus users can invoke su or sudo with a separate password for an account that has been set up to have su or sudo privileges. To use this feature, the user account to be used for scanning must have SSH keys established to be used in conjunction with the su or sudo password. If an SSH known_hosts file is available and provided as part of the scan policy, Nessus will only attempt to log into hosts in this file. This can ensure that the same username and password you are using to audit your known SSH servers is not used to attempt a login to a system that may not be under your control. Finally, the Preferred SSH port can be set to direct Nessus to connect to SSH if it is running on a port other than 22. An example screen capture of using sudo in conjunction with SSH keys follows. For this example, the user account is audit, which has been added to the /etc/sudoers file on the system to be scanned. The password provided is the password for the audit account, not the root password. The SSH keys correspond with keys generated for the audit account:

Copyright 2004-2009, Tenable Network Security, Inc.

20

The Credentials tab also provides an option in the drop-down menu for configuring Oracle settings, as well as an option for Kerberos configuration.

Copyright 2004-2009, Tenable Network Security, Inc.

21

Copyright 2004-2009, Tenable Network Security, Inc.

22

Finally, if a secure method of performing credentialed checks is not available, users can force Nessus to try to perform checks over insecure protocols by configuring the Cleartext protocol settings drop-down menu item. The cleartext protocols supported for this option are telnet, rsh and rexec.

Plugin SelectionThe Plugin Selection tab enables the user to choose specific security checks by family or individual checks.

Copyright 2004-2009, Tenable Network Security, Inc.

23

When selecting specific plugins, Nessus will display a menu list of all available families and the individual plugins that comprise that family. Click on the Plus + sign to expand the plugin family and view its plugins. Click on the Minus - sign to collapse the plugin family and hide the plugins from view. There is a box next to each plugin family to indicate how that plugin family is used by Nessus. For example, if the box beside the plugin family item shows a check then the family and all its plugins are enabled completely. As new plugins for that family are received via the feed, they will automatically be enabled. If the box is empty, then that family, as well as all of the plugins within that family, is disabled. If the box next to the plugin family shows a square inside the box, then some of the plugins are enabled while others are not. If new plugins are received via the feed, they will not be enabled by default. Please note that even if all plugins are checked and the plugin family shows the square, new plugins will NOT be enabled when received. In order to use these new plugins you will have to manually edit the policy and check these plugins. The Denial of Service family contains some plugins that could cause outages on a corporate network if the Safe Checks option is not enabled, but does contain some useful checks that will not cause any harm. The Denial of Service family can be used in conjunction with Safe Checks to ensure that any potentially dangerous plugins are not run. However, it is recommended that the Denial of Service family not be used on a production network.

Copyright 2004-2009, Tenable Network Security, Inc.

24

Below the window showing the plugins you will find 4 buttons and 2 checkboxes that will assist you in selecting plugins. Option Disable all Description Un-checks and disables all plugins and their families. Running a scan with all plugins disabled will not produce any results. Checks and enables all plugins and their families. This is an easy way to create a scan that will check for all possible vulnerabilities. Note that some plugins require further configuration options. This feature enables you to find plugins by ID, family or plugin name. For example, if you want to check all forms of Windows Vulnerabilities, you can select the name and in the text box, type Windows. This will narrow the list of selected plugins to those with Windows in the title. Selecting this option will negate any plugins you have selected via the Find button, and return your view to show all plugins in an unselected state. This is basically an undo for the Find feature. By default, if a script has dependencies, that script will not be run unless the listed dependencies have been completed. This option overrides this behavior and will cause the scanner to load and execute any of the scripts that are required for the plugins you have selected. The output is determined by which tests are run, and the plugin list is actually built at runtime. Obviously, the construction of the plugin list will dramatically affect the output of the scan. If this option is checked, the list of dependencies is not included in the report. If you want to include the list of dependencies in the report, uncheck the box.

Enable all

Find

Show All

Enable dependencies at runtime

Silent dependencies

NetworkThe Network tab is very useful to help tweak the settings for maximum results with minimal network interference. By default Nessus will use whatever processing and networking power the hardware will provide to it. This can sometimes cause system overload and slow response times. These settings help to fine tune Nessus to maximize efficiency.

Copyright 2004-2009, Tenable Network Security, Inc.

25

The table below describes the Network tuning settings: Option Reduce the number of connections in parallel on congestion Description Used when Nessus is sending too many packets at a time. Checking this box enables Nessus to detect when the network pipe is approaching capacity and throttle back the scan to accommodate and alleviate the congestion. Once the congestion is past, Nessus will automatically attempt to use the available space within the network pipe again. Enables Nessus to monitor the CPU and other internal workings for congestion and scale back accordingly. Nessus will always attempt to use as much as is available. This feature is only available for Linux based Nessus Scanners. Used to detect when a live host has become unresponsive. This can occur if users turn off their PCs during a scan or a host has stopped responding after a denial of service plugin. Continuing scans on these machines will send unnecessary traffic across the network

Use the kernel congestion detection (Linux only)

Stop scanning hosts turned off during the audit

Copyright 2004-2009, Tenable Network Security, Inc.

26

and delay the scan. Check this box to enable Nessus to detect when these systems become unresponsive and discontinue scanning these hosts. Max simultaneous TCP sessions per scan Limits the number of TCP packets that are sent from the scanner at the same time for the entire scan. Setting this to a lower setting may improve results, especially when rate limiting network gear may be interfering with the scan. Same as above except the TCP packets are limited per host. This can improve results from specific hosts and can prevent the target from dropping packets due to limitations on the host and the speed of incoming packets. Set to 5 seconds by default. This is the time that Nessus will wait for a response from a host unless otherwise specified within a plugin. If you are scanning over a slow connection you may wish to set this to a higher number of seconds.

Max simultaneous TCP sessions per host

Network receive timeout (in seconds)

Advanced TabThe advanced tab includes means for granular control over scan settings. Selecting an item from the drop-down menu will display further configuration items for the selected category. Note that this is a dynamic list of configuration options which is dependent on the plugins feed, audit policies and additional functionality that the connected Nessus scanner has access to. A scanner with a ProfessionalFeed may have more available advanced configuration options available than a scanner configured with the HomeFeed. This list may also change as plugins are added or modified. Option Database Compliance Checks (ProfessionalFeed Users) Database Settings Login Password DB Type Database SID Oracle auth type Description Allows you to specify database compliance audit files to be used for credentialed scans. Manage settings related to database auditing. The username for the database. The password for the supplied username. Oracle, SQL Server, MySQL, DB2, Informix/DRDA and PostgreSQL are supported. Database system ID to audit. NORMAL, SYSOPER and SYSDBA are supported.

Copyright 2004-2009, Tenable Network Security, Inc.

27

SQL Server auth type Do not scan fragile devices Global variable settings Probe services on every port

Windows or SQL are supported. Scan Network Printers, Scan Novell Netware hosts Use the following items in this drop down-menu item to set Global variables for your scan. Attempts to map each open port with the service that is running on that port. Note that in some rare cases, this might disrupt some services and cause unforeseen side effects. Used to prevent account lockouts if your password policy is set to lock out accounts after several invalid attempts. Activates CGI checking. Disabling this option will tremendously speed up the audit of a local network. Allows you to specify if you are using public routable IPs, private non-internet routable IPs or a mix of these. Select Mixed if you are using RFC 1918 addresses and have multiple routers within your network. Causes plugins which are considered experimental to be used in the scan. This setting should be not enabled while scanning a production network. Causes various NASL scripts to work harder. For example, when looking through SMB file shares, a NASL can analyze 3 levels deep instead of 1. This could cause much more network traffic and analysis in some cases. Also note that by being more thorough, the scan will be more intrusive and is more likely to disrupt the network. A higher setting will provide more information in the report. In some cases, Nessus cannot remotely determine whether a flaw is present or not. If the report paranoia is set to Paranoid then a flaw will be reported every time there is a doubt about the remote host being affected. Conversely, a paranoia setting of Avoid false alarm will cause Nessus to not report any flaw whenever there is a hint of uncertainty about the remote host. The default option (Normal) will be a middle ground between these two settings. A higher setting will cause more detailed information to be provided in the scan log.

Do not log in with user accounts not specified in the policy Enable CGI scanning Network type

Enable experimental scripts Thorough tests (slow)

Report verbosity Report paranoia

Log verbosity

Copyright 2004-2009, Tenable Network Security, Inc.

28

Debug level HTTP User-Agent SSL certificate to use SSL CA to trust SSL key to use SSL password for SSL key HTTP login page Login page Login form

Set this option to 1 to enable debugging to assist with troubleshooting a Nessus scan. Specifies which type of web browser Nessus will impersonate while scanning. Allows Nessus to use a client side SSL certificate for communicating with a remote host. Speficies a Certificate Authority (CA) that Nessus will trust. Specifies a local SSL key to use for communicating with the remote host. The password for managing the SSL key specified. Settings to control authenticated testing of a web-based application. The base URL to the login page of the application. The action parameter for the form method. For example, the login form for would be /login.php. Authentication parameters: login=%USER%&password=%PASS% This drop-down menu item deals specifically with SCADA checks. It determines a Connection Oriented Transport Protocol (COTP) Transport Service Access Points (TSAP) value on an ICCP server by trying possible values. The start and stop values are set to 8 by default. In this drop-down menu item you can configure login information for the following protocols: HTTP, NNTP, FTP, POP2, POP3 and IMAP. This drop-down menu item is dynamically generated by the SCADA plugins available with the ProfessionalFeed. Modbus uses a function code of 1 to read coils in a Modbus slave. Coils represent binary output settings and are typically mapped to actuators. The ability to read coils may help an attacker profile a system and identify ranges of registers to alter via a write coil message. The defaults for this are 0 for the Start reg and 16 for the End reg. A SYN scan permits Nessus to gather information about open ports without completing the TCP handshake. This

Login form fields ICCP/COTP TSAP Addressing

Login configurations

Modbus/TCP Coil Access (ProfessionalFeed Users)

Nessus SYN Scanner

Copyright 2004-2009, Tenable Network Security, Inc.

29

option allows you to set the number of packets to send per second. Nessus TCP Scanner In this drop-down menu item, you can configure options for the Nessus TCP Scanner. The Scan Ports in Random Order checkbox is used to circumvent some older IDS Systems. The Firewall detection menu provides settings to scan networks that may have firewalls. To select an option, click on it until it appears in the field and then click on the Save button. This option can help identify if a firewall is located between the scanner and the target (default). Disables the Firewall detection feature. Disables the ability to monitor how often resets are set and to determine if there is a limitation configured by a downstream network device. Will attempt to run plugins even if the port appears to be closed. It is recommended that this option not be used on a production network. This drop-down menu item can be used to determine if there are news servers that are able to relay spam. Nessus will attempt to post a news message to a NNTP (Network News Transport Protocol) server(s), and can test if it is possible to post a message to upstream news servers as well. The address that Nessus will use as it attempts to post a message to the news server(s). This message will delete itself automatically after a short period of time. The name of the news group(s) that will receive a test message from the specified address. The name can be specified as a regular expression (regex) so that the message can be posted to multiple news groups simultaneously. For example, the default value f[az]\.tests? will broadcast a mail message to all news groups with names that begin with any letter (from a to z) and end with .tests (or some variation that matched the string). The question mark acts as an optional wild character. The maximum number of news servers that will receive the test posting, regardless of the number of name matches. For example, if the Max crosspost is 7, the test message will only be sent to seven news servers, even if there are 2000 news servers that match the regex in this field.

Automatic (normal) Disabled (softer) Do not detect RST rate limitation Ignore closed ports (aggressive) News Server (NNTP) Information Disclosure

From address

Test group name regex

max crosspost

Copyright 2004-2009, Tenable Network Security, Inc.

30

Local distribution

If this option is selected, Nessus will only attempt to post a message to the local news server(s). Otherwise, an attempt will be made to forward the message upstream. If this option is selected, Nessus will request to not archive the test message being sent to the news server(s). Otherwise, the message will be archived like any other posting. Compare scan results to the PCI-DSS compliance standards. Nessus can verify if target remote hosts are alive using ARP ping, TCP ping, ICMP ping or applicative UDP ping. Specifies the list of ports that will be checked via TCP Ping. If you are not sure leave this setting to the default of built-in. Allows you to specify the number of attempts to try to ping the remote host. The default is set to 6. If this option is selected, hosts that did not reply to the ping request will be included in the security report as dead hosts. Select this option to specifically report on the ability to successfully ping a remote host. This option allows you to include or exclude the local Nessus host from the scan. This is used when the Nessus host falls within the target network range for the scan. By default, when Nessus pings a remote IP and receives a reply, it performs extra checks to make sure that it is not a transparent proxy or a load balancer that would return noise but no result (some devices answer to every port 1-65535 but there is no service behind). Such checks can take some time, especially if the remote host is firewalled. If the fast network discovery option is enabled, Nessus will not perform these checks. Options that affect port scan behavior. If a local port enumerator (e.g. WMI, netstat) finds a port, should Nessus verify it is open remotely. Otherwise, rely on local port enumeration first.

No archive

PCI DSS Compliance Ping the remote host TCP ping destination port(s) Number of Retries (ICMP) Make the dead hosts appear in the report Log live hosts in the report Test the local Nessus host

Fast network discovery

Port Scanner Settings Check open TCP ports found by local port enumerators Only run network port scanners if local port enumeration failed

Copyright 2004-2009, Tenable Network Security, Inc.

31

SMB Registry: Start the Registry Service during the scan SMB Scope

For machines that may not have the SMB Registry running all the time, this will enable it to facilitate some of the scanning requirements. If the option Request information about the domain is set, then domain users will be queried instead of local users. Specifies the SID range to use to perform a reverse lookup on usernames on the domain. The default setting is recommended. Specifies the SID range to use to perform a reverse lookup on local usernames. The default setting is recommended. The SMTP (Simple Mail Transport Protocol) tests will run on all devices within the scanned domain that are running SMTP services. Nessus will attempt to relay messages through the device to the specified Third party domain. The message sent to the Third party domain should be rejected by the address specified in the To address field. This will indicate the spam attempt failed. If the message is accepted, then the SMTP server was successfully used to relay spam. Nessus will attempt to send spam through each SMTP device to the address listed in this field. This third party domain address must be outside the range of the site being scanned or the site performing the scan. Otherwise, the test might be aborted by the SMTP server. The test messages sent to the SMTP server(s) will appear as if they originated from the address specified in this field. Nessus will attempt to send messages addressed to the mail recipient listed in this field. The postmaster address is the default value since it is a valid address on most mail servers. It is recommended that the SNMP (Simple Network Management Protocol) community string be configured if it is known. If Nessus can guess it during a scan, it will be applied to subsequent checks, but if it can be preconfigured, a very detailed audit can be performed. For example, there are a number of Cisco router checks which determine the vulnerabilities present by examining the version string returned via SNMP. Without the SNMP community string, these audits could not occur. The UDP port option allows you to direct Nessus to a different port should SNMP be running on a port other

SMB use domain SID to enumerate users SMB use host SID to enumerate local users SMTP settings

Third party domain

From address

To address

SNMP settings

Copyright 2004-2009, Tenable Network Security, Inc.

32

than 161. Service Detection Test SSL based services This menu provides options for service detection. Determines if SSL based services are to be tested on known SSL ports (e.g. 443), All ports, or None. Checking SSL on every open port can be disruptive for the tested network. This drop-down menu item provides the option to select 5 Unix audit files to assign to the policy. Next to each item is a Select button that will open a window where you can browse to and select the audit file to use with this policy. This option tests the arguments of the remote CGIs (Common Gateway Interface) discovered in the web mirroring process by attempting to pass common CGI programming errors such as cross-site scripting, remote file inclusion, command execution, traversal attacks or SQL injection. Enable this option by selecting the Enable web applications tests checkbox. These tests are dependent upon the following NASL plugins: 11139 39465 39466 39467 39468 39469 Maximum run time (min) SQL Injection (CGI abuses) Command Execution (CGI abuses) Cross-Site Scripting (CGI abuses: XSS) Directory Traversal (CGI abuses) HTTP Header Injection (CGI abuses: XSS) Remote File Inclusion (CGI abuses)

Unix Compliance Checks (ProfessionalFeed Users)

Web Application Tests Settings

This option manages the amount of time in minutes spent performing web application tests. This option defaults to 60 minutes and applies to all ports and CGIs for a given web site. Scanning the local network for web sites with small applications will typically complete in under an hour, however web sites with large applications may require a higher value. POST requests tests are used for enhanced web form testing. By default, the web application tests will only use GET requests, unless this option is enabled. Generally, more complex applications use the POST method when a user submits data to the application. This testing is recommended to be thorough, but may considerably increase the time required. This option manages the combination of argument values used in the HTTP requests. This dropdown has three options: one value - This will test one parameter at a time with

Send POST requests

Combinations of arguments values

Copyright 2004-2009, Tenable Network Security, Inc.

33

an attack string, without trying non-attack variations for additional parameters. For example, Nessus would attempt /test.php?arg1=XSS&b=1&c=1 where b and c allow other values, without testing each combination. This is the quickest method of testing with the smallest result set generated. all pairs (slower but efficient) - This form of testing is slightly slower, but, more efficient than the one value test. While testing multiple parameters, it will test an attack string, variations for a single variable and then use the first value for all other variables. For example, Nessus would attempt /test.php?a=XSS&b=1&c=1&d=1 and then cycle through the variables so that one is given the attack string, one is cycled through all possible values (as discovered during the mirror process) and any other variables are given the first value. In this case, Nessus would never test for /test.php?a=XSS&b=3&c=3&d=3 when the first value of each variable is 1. all combinations (extremely slow) - This method of testing will do a fully exhaustive test of all possible combinations of attack strings with valid input to variables. Where All-pairs testing seeks to create a smaller data set as a tradeoff for speed, all combinations makes no compromise on time and uses a complete data set of tests. This testing method may take a long time to complete. Stop at first flaw This option determines when a new flaw should be targeted. The dropdown has three options: Per port: As soon as a flaw is found on a web server by a script, Nessus stops and switches to another web server on a different port. This applies at the script level; finding an XSS flaw will not disable searching for SQL injection or header injection, but you will have at most one report for each type on a given port. Per CGI: As soon as a flaw is found on a CGI by a script, Nessus switches to the next known CGI on the same server, or if there is no other CGI, to the next port/server. Look for all flaws: Perform extensive tests regardless of flaws found. This option can take a long time and is not recommend in most cases. Test Embedded web servers Embedded web servers are often static and contain no customizable CGI scripts. In addition, embedded web servers may be prone to crash or become non-responsive when scanned. Tenable recommends scanning embedded

Copyright 2004-2009, Tenable Network Security, Inc.

34

web servers separately from other web servers using this option. Web Mirroring If the information in this drop-down menu is provided, Nessus will mirror web pages and then test for vulnerabilities. Nessus will mirror pages in sequential order. The Start page is the URL of the first page that will be tested. If multiple pages are required, use a colon delimiter to separate them (e.g., /:/php4:/base). The user can also specify the total Number of pages to mirror if desired. If the Follow dynamic pages option is selected, Nessus will follow dynamic links and may exceed the parameters set above. Excluded items regex enables exclusion of portions of the web site from being crawled. For example, to exclude the "/manual" directory and all Perl CGI, set this field to: ( ^/ m anual ) | ( \ . pl ( \ ?. * ) ?$) . Finally, Maximum depth limits the number of links Nessus will follow for each start page. This drop-down menu item provides the option to select 5 Windows audit files to assign to the policy. Next to each item is a Select button that will open a window where you can browse to and select the audit file to use with this policy. This drop-down menu item provides the option to select 5 Windows File Content audit files to assign to the policy. Next to each item is a Select button that will open a window where you can browse to and select the audit file to use with this policy.

Windows Compliance Checks (ProfessionalFeed Users)

Windows File Content Compliance Checks (ProfessionalFeed Users)

Creating a Scan Target ListTo create a scan target address list, click on the Plus sign (+) button under the box titled Networks to Scan. The Edit Target menu will appear prompting for information on the scan target. There are four options to choose from to enter the scan target: Single host The host can be identified as either a host name or an IP address in CIDR format. If an IP address is used, it must be entered in dotted decimal format (e.g. 192.168.10.10 instead of 1921681010). If a host name is used it must be a valid entry that is resolvable on the server or use a fully qualified domain name such as nessus.tenable.com. IP Range A range of IPs can be entered. Enter the start address and the end address in the appropriate fields. Subnet The IP address can be entered with a network mask following the address. Hosts in file A file with a list of hosts can be used by clicking on Select file to browse for the file. Select the file and click on Open.

Copyright 2004-2009, Tenable Network Security, Inc.

35

The host file must be formatted as ASCII text with one host per line and no extra spaces or lines. Unicode/UTF-8 encoding is not supported. Example host file formats: Individual hosts: 172.20.15.1 172.20.15.2 172.20.15.3 Host range: 172.20.15.1-172.20.15.3 Host CIDR block: 172.20.15.1/24 After you have entered the host click on Save. For example, to scan the machine running Nessus, choose the Single host option and enter the internal IP address 127.0.0.1. You may enter multiple scan targets in the address list and selectively check off the ones you want to use for each scan.

Generating and Using .nessus FilesOnce you have created a policy and list of scan target addresses, you can save the configuration in the .nessus file format from the main NessusClient window by selecting File and then Save As from the main menu. To access the saved .nessus file on future sessions, simply go to File and Open. On Windows systems, the saved .nessus files are stored in C:\Documents and Settings\\My Documents\Tenable\Nessus Client. On Linux systems, the saved .nessus files are stored under the users home directory (e.g., /root/my_policy.nessus). If you copy a .nessus file from a system that had ProfessionalFeed service and used it with a Nessus server that has the HomeFeed service, you will not have access to the compliance checks, which are only available through the ProfessionalFeed. Sharing .nessus files is useful if you require the same policy on different Nessus scanners. Note that a policy that has the Share this policy across multiple sessions option selected cannot be saved to a .nessus file. Using this option means that the policy is to become one of the default policies displayed whenever the NessusClient is started or whenever the New Session option is selected from the main menu.

Copyright 2004-2009, Tenable Network Security, Inc.

36

Once the Share this policy across multiple sessions option has been selected, the policy must still be saved following the instructions above (to a .nessus file), but the policy will not be written to the .nessus file. Instead the policy is saved to the Policies.xml file, which contains the default settings of the NessusClient installation. On Windows systems the Policies.xml file is stored in C:\Documents and Settings\\Local Settings\Application Data\Tenable\Nessus Client\. On Linux Systems, the Policies.xml file is stored in the users .nessus-client directory, which is in the users home directory.

Launching a ScanTo launch a scan, simply select the policy and network targets that you wish to use from the main page and click on the Scan Now button. The Report window will be displayed with the message Scan in progress at the bottom of the window with an activity icon indicating that it is working. As results become available, they will be can be displayed by clicking on the + box next to the target IP address as shown in the example below:

ReportsPart of the changes introduced with the .nessus file format is that reports are now saved along with the scan configuration in a .nessus file. To access reports generated using a

Copyright 2004-2009, Tenable Network Security, Inc.

37

specific policy that is contained in a .nessus file, first load the file from the main Nessus window by selecting File, then Open and select the appropriate .nessus file. The archived reports will be loaded along with the policies and scan targets associated with the reports:

Once the .nessus file is loaded, click on the Report tab. All of the reports stored in the file will be available in the drop down menu:

Copyright 2004-2009, Tenable Network Security, Inc.

38

Report FiltersOnce a report is loaded, a Filter... button is available in the lower left hand side of the window. Clicking on this button will present the user with a dialog box that can be used to create a simple or complex filter statement. This box is shown below:

Copyright 2004-2009, Tenable Network Security, Inc.

39

This box allows the Nessus user to create a set of rules where any or all of the following conditions are met: Plugin ID Plugin Name Port Name Host Name Starts With Host Name Contains Report Contains Plugin Severity All fields use a text box to enter desired strings or numbers except for the severity level which lets the user choose a list of low, medium or high. By default, all options are set with any so you could choose port names of http, https and smtp to give all web and email server vulnerabilities. If the all option is chosen, then only vulnerabilities matching the entire criteria will be listed. Keep in mind that if you choose two filters that create exclusive sets such as a port rule to match http and a second rule to match a port name of smtp you will most likely not have any matching results. Once a desired filter statement is set, only the systems and the vulnerabilities that match the filter are displayed. Filters that are in effect also control what type of data is sent to the .html, .nsr or .nbe file formats. This allows you to select what type of data goes into your .html web reports or that gets exported. To reset the filter, simply choose the Filter... button again and reset the filter.

Copyright 2004-2009, Tenable Network Security, Inc.

40

Exporting the ReportOnce loaded, a report can be saved to a file by exporting it in HTML format using the Export button:

The exported report is saved in the same directory as the .nessus files, C:\Documents and Settings\\My Documents\Tenable\Nessus Client.

Working With StylesheetsThe ability to generate reports based on XSLT (Extensible Stylesheet Language Transformations) stylesheets was introduced in Nessus version 4. The stylesheets are written in XSLT, which reads the XML in the .nessus format, performs simple operations (e.g., sorting) and outputs a document. The resulting document can be in many formats, such as HTML or CSV. Once a scan has completed you can use this feature to create several built-in reports using the stylesheets available with Nessus, or your own custom generated ones. In the lower right hand corner of the NessusClient there is a pulldown menu and a button labeled View Template, as shown below:

Copyright 2004-2009, Tenable Network Security, Inc.

41

The default stylesheets include many useful reporting options. The Sort By Host Detail report for example will output an HTML file which looks like the following:

Copyright 2004-2009, Tenable Network Security, Inc.

42

There are also several stylesheets that can export the scan data in CSV (Comma-Separated Values) format. For example, the Sort by vulnerability data-csv stylesheet allows you to generate the report details in CSV format. You can then use Microsoft Excel or other programs to import the resulting file and manipulate with the data, sort by the different fields and create graphs or charts. The stylesheets are kept in .xsl files in the Nessus data directory, which is located in the following locations according to the platform you are running the NessusClient: Platform Windows File Path C:\Program Files\Tenable\Nessus\data

Copyright 2004-2009, Tenable Network Security, Inc.

43

Linux Mac OS X

/opt/nessus/var/nessus-client/data /Library/Nessus/data

To create your own stylesheet, you need a basic understanding of XML and XSLT. Once you create a new stylesheet, place it in the appropriate directory (See table above) and restart the NessusClient after saving your data. End Users are encouraged to create their own XSLT stylesheets to generate custom reports. If you do create reports that you believe others will find useful please post then to the Nessus discussions forum located at http://discussions.nessus.org.

Other Nessus ClientsIn addition to the NessusClient GUI, Tenable supports two other methods for communicating with the Nessus server: the Unix command line interface and the Security Center.

Unix Command Line InterfaceTo run a scan using command line operation, you must run the scan in batch mode using the following command syntax: # /opt/nessus/bin/nessus q [-pPS] The table below explains the various arguments used to run a scan in batch mode. Argument -q -p -P -S Description Batch-mode. Run the Nessus scan non-interactively. Obtain a list of the plugins installed on the server. Obtain a list of the server and plugin preferences. Issue SQL output for -p and -P. The nessusd host to connect to. The port to which you will connect to on the remote nessusd host. The user name to connect to nessusd with. The password associated with user name. The name of the file containing the target machines to be scanned. The name of the file where the results will be stored at the

Copyright 2004-2009, Tenable Network Security, Inc.

44

completion of the scan. There are other options that are also available when running a scan in batch mode. These are explained in the following table. Option -V -x -v -h -T Description Make the batch mode display status messages to the screen. Do not check SSL certificates. Version. Display the version number and exit. Help. Show a summary of the commands and exit. Save the data as , where can be nbe, nsr, html, nessus or text.

Converting a ReportYou can use Nessus to do a conversion between report formats. Nessus can take any NSR or NBE reports and change them into NSR, NBE, HTML, text or .nessus format. Use the following command to convert a report: # /opt/nessus/bin/nessus i in.[nsr|nbe] o out.[nsr|nbe|html|txt|nessus] The option i specifies the file that is being converted, which can be either NSR or NBE reports. The option o specifies the file name and type that the report will be converted to, which can be NSR, NBE, HTML text or .nessus format. Additionally, reports contained in .nessus files may be converted to HTML from the command line. The syntax for this is as follows: # /opt/nessus/bin/nessus -dot-nessus in.nessus i o out.html The -dot-nessus parameter indicates the .nessus input file is to be used. will be the name of the report as it appears within the input .nessus file.

Command Line Using .nessus FilesThere are several arguments that may be passed to permit working with .nessus files as either input or output from the command line. These are detailed in the following table: Argument --dot-nessus Description When used, this is always provided as the first parameter passed to the nessus binary to indicate that a .nessus file will be used. is the location and name of the

Copyright 2004-2009, Tenable Network Security, Inc.

45

.nessus file to be used. --policy-name The name of a policy contained in the designated .nessus file. The policy parameter is provided when launching a scan from the command line. Note that the policy name provided must be the exact policy name, including single quotes, as what is displayed when using the --listpolicies parameter (see below). Provide the names of all scan policies contained in the designated .nessus file. Provide the names of all reports contained in the designated .nessus file. Over-ride the targets provided in the designated .nessus file and use those contained in the specified file.

--list-policies

--list-reports

--target-file

The following command will display a list of all reports contained in the file scan.nessus: # /opt/nessus/bin/nessus --dot-nessus scan.nessus --list-reports Below is example output: List of reports contained - '08/03/10 11:19:55 AM - '08/03/10 01:01:01 PM - '08/03/10 01:32:10 PM - '08/03/10 02:13:01 PM - '08/03/10 02:45:00 PM in scan.nessus: Full Safe w/ Compliance' Full Safe w/ Compliance' Full Safe w/ Compliance' Full Safe w/ Compliance' Full Safe w/ Compliance'

The following command will display a list of all policies contained in the file scan.nessus: # /opt/nessus/bin/nessus --dot-nessus scan.nessus --list-policies Sample output of this command would be: List of policies contained in scan.nessus: - 'Full Safe w/ Compliance' Note that when the report or policy names are to be passed as parameters to command-line Nessus, the name must be passed exactly as displayed from the above commands, including the single-quotes ('Safe w/ Compliance').

Scan CommandAssuming the policy noted in the above example exists, a scan can be launched with the following settings:

Copyright 2004-2009, Tenable Network Security, Inc.

46

# /opt/nessus/bin/nessus --dot-nessus scan.nessus --policy-name 'Full Safe w/ Compliance' In the above example, the , , , and parameters are provided as documented above. A is not required as the targets contained in the .nessus file are used for the scan. The format for the report that is generated will be decided based on the file extension provided in the nessus command. In the command above, if the name provided for the parameter were to be report.nbe, then the report would be in .nbe format. Had the name been report.nessus, the report would have been in .nessus format. Had nothing been provided for the parameter, then the report would have been added to the scan.nessus file.

Security CenterConfiguring the Security Center In the Security Center, a Nessus Server can be added through the administration interface. Using this interface, Security Center can be configured to access and control virtually any Nessus scanner. Click on the Console tab and then click on Nessus Scanner Management. Choose the zone you wish the Nessus scanner to operate from. Zones are the network IP range that the scanner will be tasked with covering. Only IP addresses that fall within this range will be scanned by this particular Nessus system. Next, click on Add Scanner. The Nessus scanners IP address, Nessus port (default: 1241), administrative login ID, authentication type and password (created while configuring Nessus) are required. The password fields are not available if SSL Certificate authentication is selected. An example screen shot of the Security Center scanner add page is shown below:

Copyright 2004-2009, Tenable Network Security, Inc.

47

After successfully adding the scanner, the following page is displayed after the scanner is selected:

For more information please refer to the Security Center Documentation.

Copyright 2004-2009, Tenable Network Security, Inc.

48

A .nessus policy file can be downloaded from Security Center and used in Nessus.

Copyright 2004-2009, Tenable Network Security, Inc.

49

About Tenable Network SecurityTenable, headquartered in Columbia, Md., USA, is the world leader in Unified Security Monitoring. Tenable provides agent-less solutions for continuous monitoring of vulnerabilities, configurations, data leakage, log analysis and compromise detection. For more information, please visit us at http://www.tenablesecurity.com/.

TENABLE Network Security, Inc. 7063 Columbia Gateway Drive Suite 100 Columbia, MD 21046 TEL: 410-872-0555 http://www.tenablesecurity.com/

Copyright 2004-2009, Tenable Network Security, Inc.

50


Recommended