TDCTF Academy Logo TDCTF ACADEMY

Nessus: Vulnerability Scanner by Tenable

Pengertian Nessus

Nessus adalah vulnerability scanner komersial yang dikembangkan oleh Tenable Network Security. Sejak dirilis pertama kali pada tahun 1998, Nessus telah menjadi standar industri untuk vulnerability assessment dengan lebih dari 80.000 plugin dan jutaan pengguna di seluruh dunia. Nessus digunakan oleh perusahaan Fortune 500, pemerintah, dan organisasi keamanan siber untuk mengidentifikasi kerentanan, misconfiguration, dan compliance issues.

Nessus tersedia dalam beberapa edisi:

  • Nessus Essentials - Gratis (terbatas 16 IP)
  • Nessus Professional - Berbayar (unlimited IP)
  • Nessus Expert - Fitur tambahan (scanning cloud, web app)
  • Tenable.io / Tenable.sc - Platform enterprise

Instalasi Nessus

Instalasi di Ubuntu/Debian

# Download Nessus
wget https://www.tenable.com/downloads/api/v1/public/pages/nessus/downloads/19357/download?i_agree_to_tenable_license_agreement=true -O Nessus.deb

# Install
dpkg -i Nessus.deb

# Start service
systemctl start nessusd
systemctl enable nessusd

# Akses web interface
# Buka browser ke: https://localhost:8834

Instalasi di Windows

  1. Download installer dari https://www.tenable.com/downloads/nessus
  2. Jalankan installer sebagai Administrator
  3. Pilih direktori instalasi (default: C:\Program Files\Tenable\Nessus)
  4. Setelah selesai, akses https://localhost:8834
  5. Register dengan activation code (dari email Tenable)

Aktivasi

# Cek status service
systemctl status nessusd

# Aktivasi via CLI (untuk headless server)
/opt/nessus/sbin/nessuscli fetch --register ESSENTIALS_ACTIVATION_CODE

# Cek status lisensi
/opt/nessus/sbin/nessuscli fetch --challenge

Policy-Based Scanning

Nessus menggunakan konsep scan policies untuk mendefinisikan bagaimana scanning dilakukan:

Membuat Policy

Via web interface:

Policies > New Policy
1. Pilih template (Basic Network Scan, Advanced Scan, dll)
2. Atur Settings:
- Discovery: Port scanning settings
- Assessment: Vulnerability detection settings
- Report: Verbosity, output format
- Advanced: Performance, logging
3. Simpan sebagai policy

Policy Settings Penting

  1. Discovery > Port Scanning

    • Port scan range: default (common ports) atau all (1-65535)
    • Scan type: TCP SYN (fast), TCP Connect (accurate), UDP
    • Network timeout: 5-10 detik (default)
    • Max hosts per scan: 10-60 (tergantung bandwidth)
  2. Assessment > General

    • Enable safe checks: Ya (hindari DoS)
    • Performance options: Scan IPs sequentially atau in parallel
    • Credentialed checks: Enable/disable
  3. Advanced > Performance

    • Max checks per host: 5
    • Max hosts per scan: 20
    • Network read timeout: 5 detik

Contoh Membuat Basic Network Scan

Policy Name: "Production Web Servers - Weekly"
Settings:
- Discovery: TCP SYN on ports 80,443,8080,8443
- Assessment: General + Web Applications
- Report: Verbose + Remediation graph
- Port Scanning: SYN scan (fast)

Plugins Families

Nessus memiliki lebih dari 80.000 plugin yang dikelompokkan ke dalam plugin families berdasarkan kategori:

Plugin Family Jumlah Fokus
CGI Abuses 5.000+ Deteksi kerentanan web application
CIS 1.000+ Compliance CIS benchmarks
Database 1.500+ Oracle, MySQL, MSSQL, PostgreSQL
Denial of Service 1.000+ Deteksi kerentanan DoS
DNS 500+ DNS misconfiguration
Firewall 300+ Firewall policy issues
FTP 400+ FTP vulnerabilities
Gain a shell remotely 500+ Remote code execution
General 20.000+ Miscellaneous vulnerabilities
Misc. 15.000+ Uncategorized
Port Scanners 50+ Service discovery
SCADA 500+ Industrial control systems
Service Detection 500+ Version detection
Settings 1.000+ Misconfiguration
SMTP Problems 300+ Email server issues
SNMP 300+ SNMP configuration
SSH 200+ SSH vulnerabilities
Web Servers 3.000+ Web server vulnerabilities
Windows 10.000+ Windows-specific vulnerabilities

Credentialed Scans

Credentialed scanning memberikan akses lebih dalam ke sistem target untuk hasil yang lebih akurat.

Windows Credentialed Scan

Settings > Credentials > Windows
- Authentication Method: Password / Kerberos
- Username: Administrator
- Password: [password]
- Domain: (opsional)
- SMB Port: 445

Prerequisites on Windows Target:
1. Enable Remote Registry service
2. Enable File and Printer Sharing
3. Configure Windows Firewall untuk port 445, 139, 135
4. Add scanning account ke Administrators group
5. Untuk Windows 10+: Disable UAC remote restrictions

Linux Credentialed Scan (SSH)

Settings > Credentials > SSH
- Authentication Method: Password / Public Key
- Username: root (atau user dengan sudo)
- Password: [password]
- SSH Port: 22
- Elevate Privileges: sudo (with NOPASSWD)

Prerequisites on Linux Target:
1. SSH server running
2. User dengan akses sudo (NOPASSWD)
3. Port 22 accessible dari scanner

Keuntungan Credentialed Scan

  1. Patch Level Check - Memverifikasi patch yang terinstal vs yang dibutuhkan
  2. Registry/Config Check - Memeriksa konfigurasi keamanan OS
  3. File System Audit - Memeriksa permission file, virus, malware
  4. False Positive Reduction - Verifikasi langsung vs tebakan
  5. Compliance Scanning - Memeriksa compliance CIS/DISA

Compliance Scanning (CIS Benchmarks)

Nessus dapat melakukan compliance scanning terhadap benchmark keamanan:

CIS Benchmark untuk Linux

Policies > New Policy > Compliance & Benchmarking
- Benchmark: CIS Ubuntu Linux 22.04 LTS Benchmark
- Level: Level 1 (essential) atau Level 2 (advanced)
- Credentials: SSH required

CIS Benchmark untuk Windows

Policies > New Policy > Compliance & Benchmarking
- Benchmark: CIS Microsoft Windows Server 2022 Benchmark
- Level: Level 1 atau Level 2
- Credentials: Windows (SMB) required

Contoh Hasil Compliance

Hasil compliance scan menampilkan:

  • Pass/Fail untuk setiap control
  • Nilai kepatuhan persentase
  • Remediation steps untuk setiap failure
  • Reference ke CIS control ID

Web Application Scanning

Nessus Expert menyediakan fitur web application scanning:

Policies > New Policy > Web Application Tests
- Target URL: https://app.example.com
- Authentication: None/Form/HTTP Basic/Cookie
- Crawl Settings: Max pages, directory depth
- Attack Types:
- SQL Injection (boolean, time-based)
- XSS (reflected, stored, DOM)
- LFI/RFI
- Command Injection
- CSRF
- Directory Traversal

Mobile Device Scanning

Nessus dapat memindai perangkat mobile (iOS/Android) melalui MDM integration atau network-based detection:

  • iOS: Mendeteksi jailbreak, outdated iOS version, konfigurasi MDM
  • Android: Mendeteksi root, outdated Android version, sideloaded apps
  • Policy Compliance: Check konfigurasi keamanan perangkat mobile

Reporting dan Export

Format Output

# Export via CLI
/opt/nessus/sbin/nessuscli export -i SCAN_ID -f pdf -o report.pdf
/opt/nessus/sbin/nessuscli export -i SCAN_ID -f html -o report.html
/opt/nessus/sbin/nessuscli export -i SCAN_ID -f csv -o report.csv
/opt/nessus/sbin/nessuscli export -i SCAN_ID -f nessus -o report.nessus

# Export via REST API
curl -H "X-ApiKeys: accessKey=KEY; secretKey=SECRET" \
"https://localhost:8834/scans/SCAN_ID/export?format=pdf" \
-o report.pdf

Jenis Laporan

  1. Executive Summary - Untuk manajemen, ringkasan non-teknis
  2. Detailed Report - Untuk tim teknis, berisi semua temuan
  3. Custom Report - Sesuai template organisasi
  4. Compliance Report - Untuk audit compliance
  5. Remediation Report - Fokus pada langkah perbaikan

Agent-Based Scanning

Nessus mendukung agent-based scanning untuk environment tanpa akses jaringan langsung:

Instalasi Agent (Linux)

# Download dan install Nessus Agent
rpm -ivh NessusAgent-10.5.0-ubuntu1404_amd64.deb

# Link ke Tenable.io atau Nessus Manager
/opt/nessus_agent/sbin/nessuscli agent link \
--key=LINKING_KEY \
--host=cloud.tenable.com \
--port=443

# Start agent
systemctl start nessusagent
systemctl enable nessusagent

Instalasi Agent (Windows)

1. Download Nessus Agent installer
2. Jalankan dengan Administrator
3. Link command:
"C:\Program Files\Tenable\Nessus Agent\nessuscli.exe" agent link
--key=LINKING_KEY
--host=cloud.tenable.com
--port=443

Keuntungan Agent-Based

  1. No Network Port Required - Agent push hasil via outbound connection
  2. Offline Scanning - Scan mesin yang tidak selalu online
  3. Local Privilege - Scanning dengan hak akses lokal penuh
  4. Bandwidth Efficient - Hanya mengirim hasil, bukan data mentah
  5. Scalable - Cocok untuk ribuan endpoint

Nessus vs OpenVAS Comparison

Aspek Nessus OpenVAS / GVM
Harga Essentials gratis (16 IP), Pro berbayar Gratis (open source)
Plugin/NVTs 80.000+ (Tenable Research) 100.000+ (Community)
Kecepatan Scan Sangat cepat (optimized engine) Moderat
Web UI Modern, intuitif Fungsional, kurang modern
API REST API (lengkap) OMP (XML-based)
Kualitas Deteksi Sangat tinggi (tim riset dedicated) Tinggi (community)
False Positives Rendah (tuning mature) Moderat
Compliance Extensive (CIS, DISA, PCI, HIPAA, dll) Basic (CIS, SCAP)
Agent-based Ya (Nessus Agent) Tidak
Mobile Scan Ya Tidak
Web App Scan Ya (Expert) Terbatas
Dukungan Commercial (24/7) Community/Forum
Integrasi SIEM, SOAR, ITSM Terbatas

Contoh Penggunaan Nyata

1. Basic Network Scan via REST API

#!/bin/bash
# Automatisasi scan via Nessus REST API

API_URL="https://localhost:8834"
API_KEY="your-api-key-here"

# Buat scan baru
curl -s -k -H "X-ApiKeys: accessKey=$API_KEY" \
-X POST "$API_URL/scans" \
-H "Content-Type: application/json" \
-d '{
"uuid": "ad629e16-03b6-8c1d-cef6-ef8c9dd3c658",
"settings": {
"name": "Weekly Scan - Production",
"description": "Automated weekly vulnerability scan",
"policy_id": 123,
"text_targets": "192.168.1.0/24",
"launch": "WEEKLY",
"starttime": "20250101T020000",
"rrules": "FREQ=WEEKLY;INTERVAL=1;BYDAY=SU"
}
}'

2. Remediation Tracking

Setelah scanning selesai, Nessus menyediakan remediation plan:

Reports > Scan > Remediation
- Filter by severity: Critical, High
- Action items terurut berdasarkan risk
- Tampilkan:
- Affected hosts
- Recommended fix
- Patch/update URL
- Workaround

3. Integrasi dengan SIEM

Nessus dapat mengirim hasil ke SIEM melalui syslog:

Settings > Advanced > Syslog
- Syslog Server: 192.168.1.100 (Splunk/ELK)
- Syslog Port: 514
- Facility: Local7
- Format: CEF (Common Event Format)

Kesimpulan

Nessus adalah vulnerability scanner enterprise-grade dengan kualitas deteksi yang sangat baik, kecepatan scanning yang optimal, dan ekosistem plugin yang mature. Meskipun berbayar untuk penggunaan penuh, Nessus Essentials menyediakan akses gratis untuk lingkungan kecil (hingga 16 IP). Keunggulan utama Nessus terletak pada credentialed scanning, compliance benchmarking, agent-based architecture, dan integrasi SIEM yang ekstensif - menjadikannya pilihan utama untuk organisasi yang membutuhkan vulnerability management solution yang reliable dan didukung secara komersial.

PADA HALAMAN INI