Difference between revisions of "Nessus-Vulnerability-Scanner"
(Created page with " Home > Nessus-Vulnerability-Scanner > How to Scan Websites Using Nessus = Website Vulnerability Scanning Using Nessus = == Purpose == This article provides step-by-step instructions to perform authenticated and unauthenticated vulnerability scans on web applications using Nessus. It also covers enabling all required plugins and applying rate limits to avoid impacting production systems. == Prerequisites == * Nessus Essentials / Professional / T...") |
|||
| Line 4: | Line 4: | ||
== Purpose == | == Purpose == | ||
This article provides step-by-step instructions to perform authenticated and unauthenticated vulnerability scans on web applications using Nessus. It also covers enabling | This article provides step-by-step instructions to perform authenticated and unauthenticated vulnerability scans on web applications using Nessus. It also covers enabling required plugins and applying rate limits to avoid impacting production systems. | ||
== Prerequisites == | == Prerequisites == | ||
<ul> | |||
<li>Nessus Essentials / Professional / Tenable.sc / Tenable.io</li> | |||
<li>Valid credentials for the target website (if authenticated scan is required)</li> | |||
<li>Target website URL or server IP</li> | |||
<li>Approved maintenance window (recommended)</li> | |||
</ul> | |||
== Scope == | == Scope == | ||
| Line 17: | Line 19: | ||
== Steps == | == Steps == | ||
<ol> | |||
<li><b>Create a New Scan</b> | |||
<ol> | |||
<li>Log in to Nessus.</li> | |||
<li>Click <b>New Scan</b> → select <b>Advanced Scan</b>.</li> | |||
<li>Enter a suitable name and description.</li> | |||
<li>Under the <b>Targets</b> field, enter: | |||
<ul> | |||
<li>Website FQDN (e.g., https://portal.example.com)</li> | |||
<li>Server IP (if required)</li> | |||
</ul> | |||
</li> | |||
</ol> | |||
</li> | |||
<li><b>Enable All Relevant Plugins</b> | |||
<ol> | |||
<li>Go to the <b>Plugins</b> tab.</li> | |||
<li>Ensure <b>all plugins</b> are enabled.</li> | |||
<li>Verify the following plugin families remain enabled: | |||
<ul> | |||
<li>Web Servers</li> | |||
<li>Web Application Vulnerabilities</li> | |||
<li>SSL/TLS Configuration Checks</li> | |||
<li>CGI Abuses</li> | |||
<li>Authentication Checks</li> | |||
</ul> | |||
</li> | |||
</ol> | |||
</li> | |||
<li><b>Configure Authentication</b> | |||
<p>Nessus provides several credential categories. Use the appropriate one depending on the authentication method required by the application:</p> | |||
<ul> | |||
<li><b>Cloud Services</b></li> | |||
<li><b>API Gateway</b></li> | |||
<li><b>Database</b></li> | |||
<li><b>Host</b></li> | |||
<li><b>Miscellaneous</b></li> | |||
<li><b>Plaintext Authentication</b></li> | |||
</ul> | |||
<p><b>Steps to Add Web Authentication:</b></p> | |||
<ol> | |||
<li>Go to <b>Credentials</b>.</li> | |||
<li>Select appropriate method: | |||
<ul> | |||
<li><b>Host → HTTP/HTTPS Credentials</b> for basic site authentication</li> | |||
<li><b>Miscellaneous → HTTP Headers</b> for session cookies or tokens</li> | |||
</ul> | |||
</li> | |||
<li>Enter required fields: | |||
<ul> | |||
<li>Username</li> | |||
<li>Password</li> | |||
<li>Domain (if applicable)</li> | |||
<li>Cookie or header name/value (for token-based / session-based login)</li> | |||
</ul> | |||
</li> | |||
<li>Save the authentication configuration.</li> | |||
</ol> | |||
<p><b>Notes:</b></p> | |||
<ul> | |||
<li>Nessus does not support full form-based login automation like Burp Suite.</li> | |||
<li>Use session cookies or tokens for authenticated scans.</li> | |||
<li>For OAuth/Bearer tokens, insert the token under <b>Miscellaneous → HTTP Headers</b>.</li> | |||
<li>Use <b>API Gateway</b> credentials when scanning API endpoints with authentication.</li> | |||
</ul> | |||
</li> | |||
<li><b>Apply Rate Throttling (To Prevent Overloading Servers)</b> | |||
<p>Navigate to <b>Settings → Advanced</b> and configure the following recommended limits:</p> | |||
<ul> | |||
<li><b>Max concurrent checks per host:</b> 1</li> | |||
<li><b>Max concurrent hosts:</b> 1</li> | |||
<li><b>Network receive timeout:</b> 5 seconds</li> | |||
<li><b>Max time per host:</b> 1 hour (adjust based on environment)</li> | |||
</ul> | |||
<p>These settings help ensure low-impact scanning on production websites.</p> | |||
</li> | |||
<li><b>Limit the Scan to the Website Only</b> | |||
<ol> | |||
<li>Go to <b>Settings → Discovery → Host Discovery</b> and disable: | |||
<ul> | |||
<li>ARP Ping</li> | |||
<li>ICMP Ping</li> | |||
<li>Reverse DNS Lookups</li> | |||
</ul> | |||
</li> | |||
<li>Go to <b>Advanced</b> → Enable <b>"Avoid scanning unreachable hosts"</b>.</li> | |||
<li>Ensure only the intended FQDN/IP is included in the <b>Targets</b> list.</li> | |||
</ol> | |||
</li> | |||
<li><b>Start the Scan</b> | |||
<ol> | |||
<li>Review all settings.</li> | |||
<li>Click <b>Launch</b>.</li> | |||
<li>Monitor scan progress in real time.</li> | |||
</ol> | |||
</li> | |||
<li><b>Review and Export Report</b> | |||
<ol> | |||
<li>Open the scan report.</li> | |||
<li>Filter vulnerabilities by: | |||
<ul> | |||
<li>Critical</li> | |||
<li>High</li> | |||
<li>Medium</li> | |||
<li>Low</li> | |||
</ul> | |||
</li> | |||
<li>Export results as: | |||
<ul> | |||
<li>PDF</li> | |||
<li>CSV</li> | |||
</ul> | |||
</li> | |||
</ol> | |||
</li> | |||
</ol> | |||
== Best Practices == | == Best Practices == | ||
<ul> | |||
<li>Always use an approved testing window when scanning production systems.</li> | |||
<li>Prefer authenticated scans for deeper insight into vulnerabilities.</li> | |||
<li>Ensure authentication tokens/cookies are valid before starting a scan.</li> | |||
<li>Always update Nessus plugins before scanning.</li> | |||
</ul> | |||
== References == | == References == | ||
<ul> | |||
<li>Tenable Nessus Documentation: https://docs.tenable.com/nessus</li> | |||
</ul> | |||
Revision as of 21:47, 9 December 2025
Home > Nessus-Vulnerability-Scanner > How to Scan Websites Using Nessus
Website Vulnerability Scanning Using Nessus
Purpose
This article provides step-by-step instructions to perform authenticated and unauthenticated vulnerability scans on web applications using Nessus. It also covers enabling required plugins and applying rate limits to avoid impacting production systems.
Prerequisites
- Nessus Essentials / Professional / Tenable.sc / Tenable.io
- Valid credentials for the target website (if authenticated scan is required)
- Target website URL or server IP
- Approved maintenance window (recommended)
Scope
This procedure scans only the approved website or web server. It must not be used to scan systems outside the authorized scope.
Steps
- Create a New Scan
- Log in to Nessus.
- Click New Scan → select Advanced Scan.
- Enter a suitable name and description.
- Under the Targets field, enter:
- Website FQDN (e.g., https://portal.example.com)
- Server IP (if required)
- Enable All Relevant Plugins
- Go to the Plugins tab.
- Ensure all plugins are enabled.
- Verify the following plugin families remain enabled:
- Web Servers
- Web Application Vulnerabilities
- SSL/TLS Configuration Checks
- CGI Abuses
- Authentication Checks
- Configure Authentication
Nessus provides several credential categories. Use the appropriate one depending on the authentication method required by the application:
- Cloud Services
- API Gateway
- Database
- Host
- Miscellaneous
- Plaintext Authentication
Steps to Add Web Authentication:
- Go to Credentials.
- Select appropriate method:
- Host → HTTP/HTTPS Credentials for basic site authentication
- Miscellaneous → HTTP Headers for session cookies or tokens
- Enter required fields:
- Username
- Password
- Domain (if applicable)
- Cookie or header name/value (for token-based / session-based login)
- Save the authentication configuration.
Notes:
- Nessus does not support full form-based login automation like Burp Suite.
- Use session cookies or tokens for authenticated scans.
- For OAuth/Bearer tokens, insert the token under Miscellaneous → HTTP Headers.
- Use API Gateway credentials when scanning API endpoints with authentication.
- Apply Rate Throttling (To Prevent Overloading Servers)
Navigate to Settings → Advanced and configure the following recommended limits:
- Max concurrent checks per host: 1
- Max concurrent hosts: 1
- Network receive timeout: 5 seconds
- Max time per host: 1 hour (adjust based on environment)
These settings help ensure low-impact scanning on production websites.
- Limit the Scan to the Website Only
- Go to Settings → Discovery → Host Discovery and disable:
- ARP Ping
- ICMP Ping
- Reverse DNS Lookups
- Go to Advanced → Enable "Avoid scanning unreachable hosts".
- Ensure only the intended FQDN/IP is included in the Targets list.
- Go to Settings → Discovery → Host Discovery and disable:
- Start the Scan
- Review all settings.
- Click Launch.
- Monitor scan progress in real time.
- Review and Export Report
- Open the scan report.
- Filter vulnerabilities by:
- Critical
- High
- Medium
- Low
- Export results as:
- CSV
Best Practices
- Always use an approved testing window when scanning production systems.
- Prefer authenticated scans for deeper insight into vulnerabilities.
- Ensure authentication tokens/cookies are valid before starting a scan.
- Always update Nessus plugins before scanning.
References
- Tenable Nessus Documentation: https://docs.tenable.com/nessus