TL;DR
- 目的:Tenable Nessus is the industry-leading vulnerability scanner used to identify security weaknesses across network infrastructure including se…
- 适用:漏洞扫描器操作(Nessus/OpenVAS)
- 输入:目标网段 + Nessus 凭证 + 扫描策略模板
- 输出:漏洞清单 + 风险评级
- 红线:仅限授权范围内;扫描限速
-c 10 -rl 10;所有动作记 oplog
- 关联:上游:003-src-session-start → 下游:154-performing-authenticated-scan-with-openvas
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.
When to Use
- 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
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
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
1---2name: scanning-infrastructure-with-nessus3description: Perform scanning infrastructure with nessus assessment during authorized security testing. Use this skill when indicators of the vulnerability class are present in the target environment.4license: Apache-2.05---67## TL;DR89- **目的**:Tenable Nessus is the industry-leading vulnerability scanner used to identify security weaknesses across network infrastructure including se…10- **适用**:漏洞扫描器操作(Nessus/OpenVAS)11- **输入**:目标网段 + Nessus 凭证 + 扫描策略模板12- **输出**:漏洞清单 + 风险评级13- **红线**:仅限授权范围内;扫描限速 `-c 10 -rl 10`;所有动作记 oplog14- **关联**:上游:003-src-session-start → 下游:154-performing-authenticated-scan-with-openvas1516# Scanning Infrastructure with Nessus1718## Overview19Tenable 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.202122## When to Use2324- When conducting security assessments that involve scanning infrastructure with nessus25- When following incident response procedures for related security events26- When performing scheduled security testing or auditing activities27- When validating security controls through hands-on testing2829## Prerequisites30- Nessus Professional or Essentials license installed and activated31- Network access to target systems (firewall rules allowing scanner IP)32- Administrative credentials for authenticated scanning33- Understanding of TCP/IP networking and common services34- Written authorization for scanning target environments3536## Core Concepts3738### Nessus Architecture39Nessus 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.4041### Scan Types421. **Host Discovery** - Identifies live hosts using ICMP, TCP, UDP, and ARP432. **Basic Network Scan** - Default policy covering common vulnerabilities443. **Advanced Scan** - Custom policy with granular plugin selection454. **Credentialed Patch Audit** - Authenticated scan checking installed patches465. **Web Application Tests** - Scans for web-specific vulnerabilities476. **Compliance Audit** - Checks against CIS, DISA STIG, PCI DSS benchmarks4849### Plugin Families50Nessus organizes plugins into families including:51- **Operating Systems**: Windows, Linux, macOS, Solaris52- **Network Devices**: Cisco, Juniper, Palo Alto, Fortinet53- **Web Servers**: Apache, Nginx, IIS, Tomcat54- **Databases**: Oracle, MySQL, PostgreSQL, MSSQL55- **Services**: DNS, SMTP, FTP, SSH, SNMP5657## Workflow5859### Step 1: Initial Configuration60```bash61# Start Nessus service62sudo systemctl start nessusd63sudo systemctl enable nessusd6465# CLI management with nessuscli66/opt/nessus/sbin/nessuscli update --all67/opt/nessus/sbin/nessuscli fix --list6869# Verify plugin count70/opt/nessus/sbin/nessuscli update --plugins-only71```7273### Step 2: Create Scan Policy74Configure a custom scan policy through the Nessus web UI at https://localhost:8834:75761. Navigate to Policies > New Policy > Advanced Scan772. Configure General settings: name, description, targets783. Set Discovery settings:79 - Host Discovery: Ping methods (ICMP, TCP SYN on ports 22,80,443)80 - Port Scanning: SYN scan on common ports or all 65535 ports81 - Service Discovery: Probe all ports for services824. Configure Assessment settings:83 - Accuracy: Override normal accuracy (reduce false positives)84 - Web Applications: Enable if scanning web servers855. Select Plugin families relevant to target environment8687### Step 3: Configure Credentials88For authenticated scanning, configure credentials under the Credentials tab:89- **SSH**: Username/password or SSH key pair90- **Windows**: Domain credentials via SMB, WMI91- **SNMP**: Community strings (v1/v2c) or USM credentials (v3)92- **Database**: Oracle, MySQL, PostgreSQL connection strings93- **VMware**: vCenter or ESXi credentials9495### Step 4: Run the Scan96```97# Using Nessus REST API via curl98# Authenticate and get token99curl -k -X POST https://localhost:8834/session \100 -d '{"username":"admin","password":"password"}' \101 -H "Content-Type: application/json"102103# Create scan104curl -k -X POST https://localhost:8834/scans \105 -H "X-Cookie: token=<TOKEN>" \106 -H "Content-Type: application/json" \107 -d '{108 "uuid": "<TEMPLATE_UUID>",109 "settings": {110 "name": "Infrastructure Scan Q1",111 "text_targets": "192.168.1.0/24",112 "enabled": true,113 "launch": "ON_DEMAND"114 }115 }'116117# Launch scan118curl -k -X POST https://localhost:8834/scans/<SCAN_ID>/launch \119 -H "X-Cookie: token=<TOKEN>"120121# Check scan status122curl -k -X GET https://localhost:8834/scans/<SCAN_ID> \123 -H "X-Cookie: token=<TOKEN>"124```125126### Step 5: Analyze Results127Nessus categorizes findings by severity:128- **Critical (CVSS 9.0-10.0)**: Immediate remediation required129- **High (CVSS 7.0-8.9)**: Remediate within 7-14 days130- **Medium (CVSS 4.0-6.9)**: Remediate within 30 days131- **Low (CVSS 0.1-3.9)**: Remediate during next maintenance window132- **Informational**: No immediate action required133134### Step 6: Export and Report135```bash136# Export via REST API137curl -k -X POST "https://localhost:8834/scans/<SCAN_ID>/export" \138 -H "X-Cookie: token=<TOKEN>" \139 -H "Content-Type: application/json" \140 -d '{"format":"nessus"}'141142# Supported formats: nessus (XML), csv, html, pdf143```144145## Best Practices1461. Schedule scans during maintenance windows to minimize production impact1472. Use authenticated scanning for 45-60% more vulnerability detection1483. Exclude fragile systems (medical devices, legacy SCADA) from aggressive scans1494. Maintain separate scan policies for different network segments1505. Update plugins before every scan to catch recently disclosed CVEs1516. Validate critical findings manually before escalating to remediation teams1527. Implement scan result trending to track remediation progress over time1538. Store scan results in Tenable.sc or Tenable.io for centralized management154155## Common Pitfalls156- Running unauthenticated scans only (misses 45-60% of vulnerabilities)157- Scanning without written authorization (legal and ethical violations)158- Ignoring scan performance impact on production systems159- Failing to tune plugins leading to excessive false positives160- Not validating scanner network connectivity before launching scans161- Using default scan policies without customization for the environment162163## Related Skills164- performing-authenticated-vulnerability-scan165- prioritizing-vulnerabilities-with-cvss-scoring166- implementing-continuous-vulnerability-monitoring167- performing-network-vulnerability-assessment