Nuclei (Go) – Performanter, quelloffener (MIT) Schwachstellen-Scanner, der mit einfachen YAML-Templates betankt wird. Dank massiver Community-Power (10.000+ Templates) spürt er, wie ein Trüffelschwein auf kolumbianischem Raketenpulver, aktuelle Schwachstellen in Webanwendungen, APIs, Netzwerken und Cloud-Infrastrukturen zuverlässig auf. Ob im Pentest, in der CI/CD-Pipeline oder als schneller Check für die eigene Webseite zwischendurch, Nuclei geht nuklear, scannt schnell, ist fast so leicht zu bedienen wie die Betätigung einer Klospülung, genauso flexibel erweiterbar wie die Ausreden eines Politikers in einem Untersuchungsausschuss und liefert stabile Ergebnisse, auf die man sich, im Gegensatz zur Pünktlichkeit der Deutschen Bahn, verlassen kann.
Einige dufte Features:
- YAML-Templates: Einfach nutzbar, erstellbar, erweiterbar und leicht erklärbar.
- Performante Scans: Rasend schnelle Scans durch Parallelisierung und Request Clustering.
- Multi-Protokoll-Support: HTTP, TCP, DNS, SSL, WHOIS, WebSocket, JavaScript, u.v.m.
- Template-Clustering: Reduziert Netzwerk-Ressourcen durch gebündelt Anfragebündelung.
- CI/CD- & Security-Integration: Automatisierte Scans in Pipelines und Anbindung an Tools wie Wazuh, OpenCTI, GitHub, GitLab, ElasticSearch u.v.m.
Nuclei Beispiel-Vorführung anhand einer WordPress-Webseite:
# 1. Nuclei Binary herunterladen (https://docs.projectdiscovery.io/tools/nuclei/install) wget -q https://github.com/projectdiscovery/nuclei/releases/download/v3.4.4/nuclei_3.4.4_linux_amd64.zip -O nuclei.zip # 2. Nuclei entpacken und verschieben unzip -q nuclei.zip mv nuclei /usr/local/bin/ # 3. Rechte setzen chmod +x /usr/local/bin/nuclei # 4. Cleanup und Version prüfen rm -f nuclei.zip nuclei -version # 5. Offizielle Nuclei-Templates auf den neusten Ständ updaten nuclei -update-templates # 6. Wordfence-basierte Templates installieren und aktualisieren - https://github.com/topscoder/nuclei-wordfence-cve export GITHUB_TEMPLATE_REPO=topscoder/nuclei-wordfence-cve nuclei -update-templates # 7. Zu scannende URL eingeben URL="https://yufka-dürüm-döner-mit-allem.com" # 8. Hauptscan mit WordPress-Fokus (-secret-file nur wenn Auth genutzt wird) nuclei -t github/topscoder/nuclei-wordfence-cve \ -u "$URL" \ -tags "wp-core,wp-plugin,wp-theme,exposure,config" \ -severity medium,high,critical \ -c 15 \ -rl 15 \ -secret-file wp-auth-data.yaml \ -o wp-findings.txt \ -stats # wp-auth-data.yaml static: - type: basicauth domains: - example.com username: olum password: ..HaBibi_Bl0xberg!! # 9. Oder als Einzeiler nuclei -t github/topscoder/nuclei-wordfence-cve -u "$URL" -tags "wp-core,wp-plugin,wp-theme,exposure,config" -severity medium,high,critical -c 15 -rl 15 -secret-file wp-auth-data.yaml -o wp-findings.txt -stats # 10. Anzeige Scan __ _ ____ __ _______/ /__ (_) / __ \/ / / / ___/ / _ \/ / / / / / /_/ / /__/ / __/ / /_/ /_/\__,_/\___/_/\___/_/ v3.4.4 projectdiscovery.io [INF] Current nuclei version: v3.4.4 (latest) [INF] Current nuclei-templates version: v10.2.1 (latest) [WRN] Scan results upload to cloud is disabled. [INF] New templates added in latest release: 42 [INF] Templates loaded for current scan: 33659 [WRN] Loading 33659 unsigned templates for scan. Use with caution. [INF] Targets loaded for current scan: 1 [INF] Templates clustered: 32225 (Reduced 24960 Requests) [0:00:05] | Templates: 33659 | Hosts: 1 | RPS: 15 | Matched: 0 | Errors: 0 | Requests: 87/10059 (0%) [0:00:10] | Templates: 33659 | Hosts: 1 | RPS: 14 | Matched: 0 | Errors: 0 | Requests: 154/10059 (1%) [0:00:15] | Templates: 33659 | Hosts: 1 | RPS: 14 | Matched: 0 | Errors: 0 | Requests: 230/10059 (2%) [0:00:20] | Templates: 33659 | Hosts: 1 | RPS: 15 | Matched: 0 | Errors: 0 | Requests: 306/10059 (3%) [0:00:25] | Templates: 33659 | Hosts: 1 | RPS: 15 | Matched: 0 | Errors: 0 | Requests: 380/10059 (3%) [0:00:30] | Templates: 33659 | Hosts: 1 | RPS: 15 | Matched: 0 | Errors: 0 | Requests: 461/10059 (4%) [0:00:35] | Templates: 33659 | Hosts: 1 | RPS: 15 | Matched: 0 | Errors: 0 | Requests: 532/10059 (5%) ... [INF] Scan completed in 3m55s. No results found.
Nuclei vermag vollumfängliche Schwachstellenscanner wie etwa OpenVAS oder Nessus nicht zu ersetzen, wohl aber diese trefflich zu ergänzen. Es eignet sich vorzüglich, um bekannte Schwachstellen regelmäßig und automatisiert aufzuspüren, sei es für Continuous Scanning, als Begleiter im Pentest oder als schnelle Vorstufe tiefergehender Analysen.