Scanning Infrastructure with Nessus
Overview
Tenable Nessus is the industry-leading vulnerability scanner used to identify security weaknesses across network infrastructure including servers, workstations, network devices, and operating systems. This skill covers configuring scan policies, running authenticated and unauthenticated scans, interpreting results, and integrating Nessus into continuous vulnerability management workflows.
Anti-Rationalization Table
| Rationalization |
Reality |
| "I'll figure it out as I go" |
A structured approach saves time and reduces errors. Follow the workflow in this skill rather than improvising. |
| "I already know this topic" |
Familiarity breeds shortcuts. Use the checklist to verify you haven't missed critical steps. |
| "This doesn't apply to my situation" |
The patterns here generalize across contexts. Adapt, don't skip — the underlying principles hold. |
| "One more tool will fix it" |
Adding complexity rarely solves process gaps. Master the core workflow first. |
When to Use
Trigger phrases:
"scanning infrastructure with nessus"
"Tenable Nessus is the industry-leading vulnerability scanner used to identify se"
When conducting security assessments that involve scanning infrastructure with nessus
When following incident response procedures for related security events
When performing scheduled security testing or auditing activities
When validating security controls through hands-on testing
Prerequisites
- Nessus Professional or Essentials license installed and activated
- Network access to target systems (firewall rules allowing scanner IP)
- Administrative credentials for authenticated scanning
- Understanding of TCP/IP networking and common services
- Written authorization for scanning target environments
Core Concepts
This section covers core concepts for scanning infrastructure with nessus.
- Ensure all prerequisites are met before proceeding
- Follow the documented workflow steps in sequence
- Record results and any anomalies encountered during this phase
Nessus Architecture
Nessus operates as a client-server application where the Nessus scanner engine runs as a service (nessusd) on the host system. It uses a plugin-based architecture with over 200,000 plugins updated weekly by Tenable's research team. Each plugin tests for a specific vulnerability, misconfiguration, or compliance check.
Scan Types
- Host Discovery - Identifies live hosts using ICMP, TCP, UDP, and ARP
- Basic Network Scan - Default policy covering common vulnerabilities
- Advanced Scan - Custom policy with granular plugin selection
- Credentialed Patch Audit - Authenticated scan checking installed patches
- Web Application Tests - Scans for web-specific vulnerabilities
- Compliance Audit - Checks against CIS, DISA STIG, PCI DSS benchmarks
Plugin Families
Nessus organizes plugins into families including:
- Operating Systems: Windows, Linux, macOS, Solaris
- Network Devices: Cisco, Juniper, Palo Alto, Fortinet
- Web Servers: Apache, Nginx, IIS, Tomcat
- Databases: Oracle, MySQL, PostgreSQL, MSSQL
- Services: DNS, SMTP, FTP, SSH, SNMP
Workflow
- Scope the task — define objectives, boundaries, and success criteria
- Gather information — collect all necessary data and context before proceeding
- Execute the core workflow — follow the domain-specific steps methodically
- Validate results — verify outputs against expected outcomes or baselines
- Document findings — record results, anomalies, and recommendations
Step 1: Initial Configuration
# Start Nessus service
sudo systemctl start nessusd
sudo systemctl enable nessusd
# CLI management with nessuscli
/opt/nessus/sbin/nessuscli update --all
/opt/nessus/sbin/nessuscli fix --list
# Verify plugin count
/opt/nessus/sbin/nessuscli update --plugins-only
Step 2: Create Scan Policy
Configure a custom scan policy through the Nessus web UI at https://localhost:8834:
- Navigate to Policies > New Policy > Advanced Scan
- Configure General settings: name, description, targets
- Set Discovery settings:
- Host Discovery: Ping methods (ICMP, TCP SYN on ports 22,80,443)
- Port Scanning: SYN scan on common ports or all 65535 ports
- Service Discovery: Probe all ports for services
- Configure Assessment settings:
- Accuracy: Override normal accuracy (reduce false positives)
- Web Applications: Enable if scanning web servers
- Select Plugin families relevant to target environment
Step 3: Configure Credentials
For authenticated scanning, configure credentials under the Credentials tab:
- SSH: Username/password or SSH key pair
- Windows: Domain credentials via SMB, WMI
- SNMP: Community strings (v1/v2c) or USM credentials (v3)
- Database: Oracle, MySQL, PostgreSQL connection strings
- VMware: vCenter or ESXi credentials
Step 4: Run the Scan
# Using Nessus REST API via curl
# Authenticate and get token
curl -k -X POST https://localhost:8834/session \
-d '{"username":"admin","password":"password"}' \
-H "Content-Type: application/json"
# Create scan
curl -k -X POST https://localhost:8834/scans \
-H "X-Cookie: token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"uuid": "<TEMPLATE_UUID>",
"settings": {
"name": "Infrastructure Scan Q1",
"text_targets": "192.168.1.0/24",
"enabled": true,
"launch": "ON_DEMAND"
}
}'
# Launch scan
curl -k -X POST https://localhost:8834/scans/<SCAN_ID>/launch \
-H "X-Cookie: token=<TOKEN>"
# Check scan status
curl -k -X GET https://localhost:8834/scans/<SCAN_ID> \
-H "X-Cookie: token=<TOKEN>"
Step 5: Analyze Results
Nessus categorizes findings by severity:
- Critical (CVSS 9.0-10.0): Immediate remediation required
- High (CVSS 7.0-8.9): Remediate within 7-14 days
- Medium (CVSS 4.0-6.9): Remediate within 30 days
- Low (CVSS 0.1-3.9): Remediate during next maintenance window
- Informational: No immediate action required
Step 6: Export and Report
# Export via REST API
curl -k -X POST "https://localhost:8834/scans/<SCAN_ID>/export" \
-H "X-Cookie: token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"format":"nessus"}'
# Supported formats: nessus (XML), csv, html, pdf
Best Practices
- Schedule scans during maintenance windows to minimize production impact
- Use authenticated scanning for 45-60% more vulnerability detection
- Exclude fragile systems (medical devices, legacy SCADA) from aggressive scans
- Maintain separate scan policies for different network segments
- Update plugins before every scan to catch recently disclosed CVEs
- Validate critical findings manually before escalating to remediation teams
- Implement scan result trending to track remediation progress over time
- Store scan results in Tenable.sc or Tenable.io for centralized management
Common Pitfalls
- Running unauthenticated scans only (misses 45-60% of vulnerabilities)
- Scanning without written authorization (legal and ethical violations)
- Ignoring scan performance impact on production systems
- Failing to tune plugins leading to excessive false positives
- Not validating scanner network connectivity before launching scans
- Using default scan policies without customization for the environment
Related Skills
- performing-authenticated-vulnerability-scan
- prioritizing-vulnerabilities-with-cvss-scoring
- implementing-continuous-vulnerability-monitoring
- performing-network-vulnerability-assessment
When NOT to Use
- You need to perform manual testing (use performing-* skills)
- Task is about analyzing scan results (use analyzing-* skills)
- You need to implement scanning tools (use implementing-* skills)
- Task is about building scanning infrastructure (use building-* skills)
- You don't have network access to targets
- Task requires compliance validation (use auditing-* skills)
Red Flags
- Performing actions without explicit written authorization from the asset owner
- Testing against production systems without a defined scope and rules of engagement
- Capturing traffic on networks without authorization or privacy considerations
- Leaving packet captures containing sensitive data unencrypted on disk
- Deploying inline blocking rules without testing for false positives first
Verification
- All steps executed successfully against a test environment before production use
- Output documented with screenshots or logs demonstrating expected behavior
- Captures verified as complete with no dropped packets
- Detection rules tested against known-benign traffic for false positive rate
- Alert thresholds validated and tuned to reduce noise
Process
- Analyze the task requirements
- Apply domain expertise
- Verify output quality
1---2name: scanning-infrastructure-with-nessus3description: Use when tenable Nessus is the industry-leading vulnerability scanner used to identify security weaknesses across network infrastructure including servers, workstations, network devices, and operating systems. Use when working with scanning infrastructure with nessus.4license: Apache-2.05---67# Scanning Infrastructure with Nessus89## Overview10Tenable Nessus is the industry-leading vulnerability scanner used to identify security weaknesses across network infrastructure including servers, workstations, network devices, and operating systems. This skill covers configuring scan policies, running authenticated and unauthenticated scans, interpreting results, and integrating Nessus into continuous vulnerability management workflows.11121314## Anti-Rationalization Table1516| Rationalization | Reality |17|---|---|18| "I'll figure it out as I go" | A structured approach saves time and reduces errors. Follow the workflow in this skill rather than improvising. |19| "I already know this topic" | Familiarity breeds shortcuts. Use the checklist to verify you haven't missed critical steps. |20| "This doesn't apply to my situation" | The patterns here generalize across contexts. Adapt, don't skip — the underlying principles hold. |21| "One more tool will fix it" | Adding complexity rarely solves process gaps. Master the core workflow first. |2223## When to Use24**Trigger phrases:**25- "scanning infrastructure with nessus"26- "Tenable Nessus is the industry-leading vulnerability scanner used to identify se"272829- When conducting security assessments that involve scanning infrastructure with nessus30- When following incident response procedures for related security events31- When performing scheduled security testing or auditing activities32- When validating security controls through hands-on testing3334## Prerequisites35- Nessus Professional or Essentials license installed and activated36- Network access to target systems (firewall rules allowing scanner IP)37- Administrative credentials for authenticated scanning38- Understanding of TCP/IP networking and common services39- Written authorization for scanning target environments4041## Core Concepts4243This section covers core concepts for scanning infrastructure with nessus.4445- Ensure all prerequisites are met before proceeding46- Follow the documented workflow steps in sequence47- Record results and any anomalies encountered during this phase48### Nessus Architecture49Nessus operates as a client-server application where the Nessus scanner engine runs as a service (nessusd) on the host system. It uses a plugin-based architecture with over 200,000 plugins updated weekly by Tenable's research team. Each plugin tests for a specific vulnerability, misconfiguration, or compliance check.5051### Scan Types521. **Host Discovery** - Identifies live hosts using ICMP, TCP, UDP, and ARP532. **Basic Network Scan** - Default policy covering common vulnerabilities543. **Advanced Scan** - Custom policy with granular plugin selection554. **Credentialed Patch Audit** - Authenticated scan checking installed patches565. **Web Application Tests** - Scans for web-specific vulnerabilities576. **Compliance Audit** - Checks against CIS, DISA STIG, PCI DSS benchmarks5859### Plugin Families60Nessus organizes plugins into families including:61- **Operating Systems**: Windows, Linux, macOS, Solaris62- **Network Devices**: Cisco, Juniper, Palo Alto, Fortinet63- **Web Servers**: Apache, Nginx, IIS, Tomcat64- **Databases**: Oracle, MySQL, PostgreSQL, MSSQL65- **Services**: DNS, SMTP, FTP, SSH, SNMP6667## Workflow68691. **Scope the task** — define objectives, boundaries, and success criteria702. **Gather information** — collect all necessary data and context before proceeding713. **Execute the core workflow** — follow the domain-specific steps methodically724. **Validate results** — verify outputs against expected outcomes or baselines735. **Document findings** — record results, anomalies, and recommendations74### Step 1: Initial Configuration75```bash76# Start Nessus service77sudo systemctl start nessusd78sudo systemctl enable nessusd7980# CLI management with nessuscli81/opt/nessus/sbin/nessuscli update --all82/opt/nessus/sbin/nessuscli fix --list8384# Verify plugin count85/opt/nessus/sbin/nessuscli update --plugins-only86```8788### Step 2: Create Scan Policy89Configure a custom scan policy through the Nessus web UI at https://localhost:8834:90911. Navigate to Policies > New Policy > Advanced Scan922. Configure General settings: name, description, targets933. Set Discovery settings:94 - Host Discovery: Ping methods (ICMP, TCP SYN on ports 22,80,443)95 - Port Scanning: SYN scan on common ports or all 65535 ports96 - Service Discovery: Probe all ports for services974. Configure Assessment settings:98 - Accuracy: Override normal accuracy (reduce false positives)99 - Web Applications: Enable if scanning web servers1005. Select Plugin families relevant to target environment101102### Step 3: Configure Credentials103For authenticated scanning, configure credentials under the Credentials tab:104- **SSH**: Username/password or SSH key pair105- **Windows**: Domain credentials via SMB, WMI106- **SNMP**: Community strings (v1/v2c) or USM credentials (v3)107- **Database**: Oracle, MySQL, PostgreSQL connection strings108- **VMware**: vCenter or ESXi credentials109110### Step 4: Run the Scan111```112# Using Nessus REST API via curl113# Authenticate and get token114curl -k -X POST https://localhost:8834/session \115 -d '{"username":"admin","password":"password"}' \116 -H "Content-Type: application/json"117118# Create scan119curl -k -X POST https://localhost:8834/scans \120 -H "X-Cookie: token=<TOKEN>" \121 -H "Content-Type: application/json" \122 -d '{123 "uuid": "<TEMPLATE_UUID>",124 "settings": {125 "name": "Infrastructure Scan Q1",126 "text_targets": "192.168.1.0/24",127 "enabled": true,128 "launch": "ON_DEMAND"129 }130 }'131132# Launch scan133curl -k -X POST https://localhost:8834/scans/<SCAN_ID>/launch \134 -H "X-Cookie: token=<TOKEN>"135136# Check scan status137curl -k -X GET https://localhost:8834/scans/<SCAN_ID> \138 -H "X-Cookie: token=<TOKEN>"139```140141### Step 5: Analyze Results142Nessus categorizes findings by severity:143- **Critical (CVSS 9.0-10.0)**: Immediate remediation required144- **High (CVSS 7.0-8.9)**: Remediate within 7-14 days145- **Medium (CVSS 4.0-6.9)**: Remediate within 30 days146- **Low (CVSS 0.1-3.9)**: Remediate during next maintenance window147- **Informational**: No immediate action required148149### Step 6: Export and Report150```bash151# Export via REST API152curl -k -X POST "https://localhost:8834/scans/<SCAN_ID>/export" \153 -H "X-Cookie: token=<TOKEN>" \154 -H "Content-Type: application/json" \155 -d '{"format":"nessus"}'156157# Supported formats: nessus (XML), csv, html, pdf158```159160## Best Practices1611. Schedule scans during maintenance windows to minimize production impact1622. Use authenticated scanning for 45-60% more vulnerability detection1633. Exclude fragile systems (medical devices, legacy SCADA) from aggressive scans1644. Maintain separate scan policies for different network segments1655. Update plugins before every scan to catch recently disclosed CVEs1666. Validate critical findings manually before escalating to remediation teams1677. Implement scan result trending to track remediation progress over time1688. Store scan results in Tenable.sc or Tenable.io for centralized management169170## Common Pitfalls171- Running unauthenticated scans only (misses 45-60% of vulnerabilities)172- Scanning without written authorization (legal and ethical violations)173- Ignoring scan performance impact on production systems174- Failing to tune plugins leading to excessive false positives175- Not validating scanner network connectivity before launching scans176- Using default scan policies without customization for the environment177178## Related Skills179- performing-authenticated-vulnerability-scan180- prioritizing-vulnerabilities-with-cvss-scoring181- implementing-continuous-vulnerability-monitoring182- performing-network-vulnerability-assessment183## When NOT to Use184185- You need to perform manual testing (use performing-* skills)186- Task is about analyzing scan results (use analyzing-* skills)187- You need to implement scanning tools (use implementing-* skills)188- Task is about building scanning infrastructure (use building-* skills)189- You don't have network access to targets190- Task requires compliance validation (use auditing-* skills)191192193## Red Flags194195- Performing actions without explicit written authorization from the asset owner196- Testing against production systems without a defined scope and rules of engagement197- Capturing traffic on networks without authorization or privacy considerations198- Leaving packet captures containing sensitive data unencrypted on disk199- Deploying inline blocking rules without testing for false positives first200## Verification201202- All steps executed successfully against a test environment before production use203- Output documented with screenshots or logs demonstrating expected behavior204- Captures verified as complete with no dropped packets205- Detection rules tested against known-benign traffic for false positive rate206- Alert thresholds validated and tuned to reduce noise207208## Process2092101. Analyze the task requirements2112. Apply domain expertise2123. Verify output quality