Nuclei Erklärung: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Erklärung=
+
=Einführung in nuclei=
*Nuclei ist ein schneller, template-basierter Schwachstellenscanner für Webanwendungen und Infrastruktur.
+
*Nuclei ist ein leistungsfähiger, template-basierter Schwachstellenscanner für Webanwendungen, Netzwerkdienste und APIs.
*Es nutzt YAML-Templates zur Erkennung von Sicherheitslücken (CVEs, OWASP Top 10, Konfigurationsfehler).
+
*Das Tool wurde für die schnelle und automatisierbare Identifikation von Sicherheitslücken entwickelt.
*Automatisiert Massenchecks mit HTTP, DNS, TCP, SSL-Protokollen.
+
*Es nutzt strukturierte YAML-Templates, die Signaturen für CVEs, OWASP Top 10, Fehlkonfigurationen, sensible Dateien und mehr enthalten.
* Integriert komplexe Angriffsketten (Header-Manipulation, Cookie-Injection).
+
*Nuclei unterstützt HTTP, DNS, SSL, TCP, File- und Headertests sowie DNS- und TLS-basierte Prüfungen.
* Protokolliert Technologiestacks (Webserver, Frameworks, Programmiersprachen).
+
*Die Templates können gefiltert, angepasst oder selbst erstellt werden, was flexible Prüfstrategien ermöglicht.
 +
*Das Tool eignet sich sowohl für Einzelzielscans als auch für Massenscans in CI/CD-Pipelines oder Recon-Phasen.
 +
*Es liefert strukturierte, maschinenlesbare Ausgaben (z. B. JSON), die in weitere Analyse- und Reporting-Tools überführt werden können.
 +
*Nuclei ist ein Projekt von ProjectDiscovery und wird aktiv gepflegt.
 +
 
 
=Installation=
 
=Installation=
  apt install golang-go
+
*Installation unter Kali Linux:
  go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
+
  apt install nuclei nuclei-templates
 +
 
 +
*Templates aktualisieren:
 +
  nuclei -update-templates
 +
 
 +
=Zielsystem=
 +
*In diesem Beispiel wird das Zielsystem http://opfer.secure.local getestet.
 +
 
 +
=Grundlegender CVE- und Exposure-Scan=
 +
*Scannt bekannte Sicherheitslücken (CVE) und öffentlich zugängliche Inhalte (exposures).
 +
nuclei -u http://opfer.secure.local -t cves/ -t exposures/
 +
 
 +
=Stiller Scan nur mit kritischen Schwachstellen=
 +
*Nur die Funde werden angezeigt – ideal für automatisierte Verarbeitung.
 +
nuclei -u http://opfer.secure.local -severity critical,high -silent
 +
 
 +
=Proxy-Nutzung (z. B. Burp Suite)=
 +
*Leitet alle Anfragen über einen lokalen Proxy.
 +
nuclei -u http://opfer.secure.local -proxy http://127.0.0.1:8080
 +
 
 +
=Scan mit benutzerdefiniertem User-Agent=
 +
*Setzt einen benutzerdefinierten Header, z. B. zur Tarnung oder Analyse.
 +
nuclei -u http://opfer.secure.local -H "User-Agent: Mozilla/5.0 (Legit Browser)"
 +
 
 +
=Berichtsausgabe=
 +
*Ergebnisse in JSON speichern und als HTML-Bericht ausgeben.
 +
nuclei -u http://opfer.secure.local -o opfer.json -json
 +
nuclei-export -in opfer.json -out opfer-report.html
 +
 
 +
=Ergebnisse aus der Praxis=
 +
*Beispielhafte Treffer bei opfer.secure.local:
 +
**wp-user-enum:usernames**
 +
**wordpress-rce-simplefilelist**
 +
**wordpress-directory-listing**
 +
**wordpress-xmlrpc-file**
  
=Grundlegende Anwendung=
+
=Grenzen von nuclei=
* Scan eines einzelnen Targets:
+
*Keine aktive Exploitausführung
nuclei -u https://ziel.local -t cves/
+
*Kein JavaScript-Parsing (keine SPAs)
* Scan mehrerer Targets (Datei):
+
*Qualität abhängig von Templates
nuclei -l targets.txt -t exposures/
+
*Nicht für authentifizierte Bereiche geeignet
* Mit spezifischen Templates:
 
nuclei -u https://ziel.local -t ~/nuclei-templates/cves/2023/
 
* Scan mit maximaler Geschwindigkeit (50 Requests/Sekunde):
 
nuclei -u https://ziel.local -rate-limit 50
 
  
=Wichtige Parameter=
+
=Empfohlene Ergänzungen=
* -u: Ziel-URL (single target)
+
*[[WhatWeb]] zur Erkennung eingesetzter Webtechnologien
* -l: Liste von Targets (Datei)
+
*[[Dirsearch]] oder [[ffuf]] zur Verzeichnisprüfung
* -t: Template-Verzeichnis oder -Datei
+
*[[BurpSuite]] oder [[OWASP ZAP]] für manuelle und interaktive Analysen
* -severity: Filter nach Schweregrad (critical,high,medium,low)
 
* -rate-limit: Requests pro Sekunde
 
* -timeout: Timeout in Sekunden
 
* -retries: Anzahl der Wiederholungen bei Fehlern
 
* -proxy: Nutzung eines Proxys (z.B. http://127.0.0.1:8080)
 
* -silent: Zeigt nur gefundene Schwachstellen an
 
  
=Template-basierte Scans=
+
=Aufgaben=
* Liste verfügbarer Templates anzeigen:
+
*Führe einen CVE-Scan gegen http://opfer.secure.local durch.
nuclei -tl
+
<!-- nuclei -u http://opfer.secure.local -t cves/ -->
* Scan mit bestimmten Template-Kategorien:
 
nuclei -u https://ziel.local -t cves/ -t vulnerabilities/
 
* Eigenes Template-Verzeichnis nutzen:
 
nuclei -u https://ziel.local -t ~/custom-templates/
 
  
=Beispielbefehle für Praxis=
+
*Ermittle, ob öffentlich zugängliche Verzeichnisse vorhanden sind.
* Schneller Scan mit wichtigen Templates:
+
<!-- nuclei -u http://opfer.secure.local -t exposures/ -->
nuclei -u https://ziel.local -t cves/ -t exposures/ -severity critical,high -rate-limit 30
 
* Scan mit Proxynutzung (Burp Suite):
 
nuclei -u https://ziel.local -proxy http://127.0.0.1:8080
 
* Scan mit speziellem User-Agent:
 
nuclei -u https://ziel.local -H "User-Agent: Mozilla/5.0 (Legit Browser)"
 
  
=Berichtsgenerierung=
+
*Führe einen Scan über einen Proxy mit benutzerdefiniertem User-Agent durch.
* Ergebnisse in JSON speichern:
+
<!-- nuclei -u http://opfer.secure.local -proxy http://127.0.0.1:8080 -H "User-Agent: Firefox/108.0" -->
nuclei -u https://ziel.local -o ergebnisse.json -json
 
* Ergebnisse in HTML konvertieren:
 
nuclei -u https://ziel.local -o ergebnisse.json -json && nuclei-export -in ergebnisse.json -out report.html
 
  
=Grenzen von Nuclei=
+
*Führe einen stillen Scan nur mit kritischen Findings durch.
* Keine manuelle Interaktion wie in Burp Suite
+
<!-- nuclei -u http://opfer.secure.local -severity critical -silent -->
* Keine automatische Exploit-Ausführung
 
* Template-Qualität abhängig von Community-Beiträgen
 
* Kann bei falscher Konfiguration False Positives produzieren
 
  
=Tipps für Fortgeschrittene=
+
*Erstelle einen vollständigen JSON- und HTML-Bericht des Scans.
* Template-Entwicklung:
+
<!-- nuclei -u http://opfer.secure.local -o opfer.json -json -->
* nuclei -ut ~/custom-templates/ (erstellt Template-Boilerplate)
+
<!-- nuclei-export -in opfer.json -out opfer-report.html -->
* Massenscans optimieren:
 
* cat targets.txt | nuclei -t cves/ -rate-limit 20 -timeout 5 -retries 2
 
* Integration in CI/CD:
 
* nuclei -l ci_targets.txt -severity critical,high -json | tee scan_results.json
 
```
 

Aktuelle Version vom 16. Mai 2025, 13:57 Uhr

Einführung in nuclei

  • Nuclei ist ein leistungsfähiger, template-basierter Schwachstellenscanner für Webanwendungen, Netzwerkdienste und APIs.
  • Das Tool wurde für die schnelle und automatisierbare Identifikation von Sicherheitslücken entwickelt.
  • Es nutzt strukturierte YAML-Templates, die Signaturen für CVEs, OWASP Top 10, Fehlkonfigurationen, sensible Dateien und mehr enthalten.
  • Nuclei unterstützt HTTP, DNS, SSL, TCP, File- und Headertests sowie DNS- und TLS-basierte Prüfungen.
  • Die Templates können gefiltert, angepasst oder selbst erstellt werden, was flexible Prüfstrategien ermöglicht.
  • Das Tool eignet sich sowohl für Einzelzielscans als auch für Massenscans in CI/CD-Pipelines oder Recon-Phasen.
  • Es liefert strukturierte, maschinenlesbare Ausgaben (z. B. JSON), die in weitere Analyse- und Reporting-Tools überführt werden können.
  • Nuclei ist ein Projekt von ProjectDiscovery und wird aktiv gepflegt.

Installation

  • Installation unter Kali Linux:
apt install nuclei nuclei-templates
  • Templates aktualisieren:
nuclei -update-templates

Zielsystem

Grundlegender CVE- und Exposure-Scan

  • Scannt bekannte Sicherheitslücken (CVE) und öffentlich zugängliche Inhalte (exposures).
nuclei -u http://opfer.secure.local -t cves/ -t exposures/

Stiller Scan nur mit kritischen Schwachstellen

  • Nur die Funde werden angezeigt – ideal für automatisierte Verarbeitung.
nuclei -u http://opfer.secure.local -severity critical,high -silent

Proxy-Nutzung (z. B. Burp Suite)

  • Leitet alle Anfragen über einen lokalen Proxy.
nuclei -u http://opfer.secure.local -proxy http://127.0.0.1:8080

Scan mit benutzerdefiniertem User-Agent

  • Setzt einen benutzerdefinierten Header, z. B. zur Tarnung oder Analyse.
nuclei -u http://opfer.secure.local -H "User-Agent: Mozilla/5.0 (Legit Browser)"

Berichtsausgabe

  • Ergebnisse in JSON speichern und als HTML-Bericht ausgeben.
nuclei -u http://opfer.secure.local -o opfer.json -json
nuclei-export -in opfer.json -out opfer-report.html

Ergebnisse aus der Praxis

  • Beispielhafte Treffer bei opfer.secure.local:
    • wp-user-enum:usernames**
    • wordpress-rce-simplefilelist**
    • wordpress-directory-listing**
    • wordpress-xmlrpc-file**

Grenzen von nuclei

  • Keine aktive Exploitausführung
  • Kein JavaScript-Parsing (keine SPAs)
  • Qualität abhängig von Templates
  • Nicht für authentifizierte Bereiche geeignet

Empfohlene Ergänzungen

Aufgaben

  • Ermittle, ob öffentlich zugängliche Verzeichnisse vorhanden sind.
  • Führe einen Scan über einen Proxy mit benutzerdefiniertem User-Agent durch.
  • Führe einen stillen Scan nur mit kritischen Findings durch.
  • Erstelle einen vollständigen JSON- und HTML-Bericht des Scans.