Einführung
Willkommen zum Lab „Webserver-Scanning mit Nikto“.
Nikto ist ein weit verbreiteter Open-Source-Schwachstellenscanner für Webserver. Er führt umfassende Tests an Webservern durch und prüft dabei über 6.700 potenziell gefährliche Dateien und Programme, sucht nach veralteten Versionen von über 1.250 Servern und identifiziert versionsspezifische Probleme. Obwohl Nikto nicht darauf ausgelegt ist, unauffällig zu arbeiten (er ist recht „laut“ und wird von Intrusion-Detection-Systemen leicht erkannt), ist er unglaublich schnell und effektiv für grundlegende Sicherheitsaudits.
Man sollte Nikto am besten als schnellen, breit angelegten Auditor verstehen. Er hilft Ihnen dabei, offensichtliche Probleme auf Webservern schnell zu identifizieren, ersetzt jedoch keine sorgfältige manuelle Überprüfung. Seine „Lautstärke“ ist der Kompromiss für diese Breite.
In diesem Lab lernen Sie, wie Sie Nikto verwenden, um einen lokalen Webserver zu scannen, Ihre Scans auf spezifische Schwachstellen zu fokussieren, Ergebnisse in strukturierten Berichten zu speichern und die Erkenntnisse zur Verbesserung der Serversicherheit zu analysieren.
Grundlegenden Nikto-Scan ausführen
In diesem Schritt lernen Sie, wie Sie mit Nikto einen grundlegenden Schwachstellenscan gegen einen Ziel-Webserver durchführen.
Für dieses Lab wurde bereits ein lokaler Apache-Webserver in Ihrer Umgebung installiert und gestartet. Dieser Server dient als unser Ziel. Nikto wird über die Befehlszeile bedient, und für die grundlegendste Verwendung ist lediglich das Flag -h (Host), gefolgt von der IP-Adresse oder dem Domainnamen des Ziels, erforderlich.
Um einen grundlegenden Scan gegen Ihren lokalen Webserver zu starten, führen Sie den folgenden Befehl in Ihrem Terminal aus:
nikto -h http://localhost
In dieser Phase geht es darum, eine Basislinie der sichtbaren Schwachstellen und Fehlkonfigurationen zu erstellen, nicht darum, die Ausnutzbarkeit für jeden gemeldeten Punkt zu beweisen.
Sobald Sie den Befehl ausführen, beginnt Nikto mit der Untersuchung des Webservers. Sie werden sehen, wie die Ausgabe auf Ihrem Bildschirm erscheint, während Nikto Informationen entdeckt.
- Nikto v2.1.5
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: localhost
+ Target Port: 80
+ Start Time: 2026-10-25 10:00:00 (GMT0)
---------------------------------------------------------------------------
+ Server: Apache/2.4.52 (Ubuntu)
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined.
+ The X-Content-Type-Options header is not set.
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ /admin.txt: This might be interesting...
+ /info.php: Output from the phpinfo() function was found.
+ 8000 requests: 0 error(s) and 6 item(s) reported on remote host
+ End Time: 2026-10-25 10:00:15 (GMT0) (15 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested
Die Ausgabe liefert eine Fülle von Informationen. Sie identifiziert die Server-Softwareversion (Apache/2.4.52), weist auf fehlende Sicherheits-Header (wie X-Frame-Options) hin und hebt potenziell sensible Dateien hervor, die auf dem Server verblieben sind, wie etwa /admin.txt und /info.php.
Falsch-positive Ergebnisse ignorieren (Tuning)
In diesem Schritt lernen Sie, wie Sie Ihre Nikto-Scans optimieren.
Da Nikto auf Tausende potenzieller Probleme prüft, kann ein Standard-Scan manchmal lange dauern und viel „Rauschen“ oder falsch-positive Ergebnisse erzeugen. Um Ihre Scans schneller und fokussierter zu gestalten, bietet Nikto das Flag -Tuning.
Dies ist eine gute Erinnerung daran, dass die Qualität der Scanner-Ausgabe durch den Umfang bestimmt wird. Das Eingrenzen der Testkategorien verbessert oft die Nützlichkeit der Ergebnisse.
Mit dem Flag -Tuning können Sie genau festlegen, welche Testkategorien Sie ausführen möchten. Jede Kategorie wird durch eine Zahl oder einen Buchstaben dargestellt. Zum Beispiel:
1- Interessante Datei / In Protokollen gesehen2- Fehlkonfiguration / Standarddatei3- Informationspreisgabe4- Injection (XSS/Script/HTML)9- SQL-Injection
Wenn Sie nur auf Fehlkonfigurationen (2) und Informationspreisgabe (3) prüfen möchten, können Sie diese Zahlen kombinieren.
Führen Sie den folgenden Befehl aus, um einen optimierten Scan durchzuführen, der nur nach Fehlkonfigurationen und Informationspreisgabe sucht:
nikto -h http://localhost -Tuning 23
Sie werden feststellen, dass dieser Scan wesentlich schneller abgeschlossen ist als der grundlegende Scan, da er Hunderte irrelevanter Tests überspringt, wie etwa SQL-Injection- oder Denial-of-Service-Prüfungen.
- Nikto v2.1.5
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: localhost
+ Target Port: 80
+ Start Time: 2026-10-25 10:05:00 (GMT0)
---------------------------------------------------------------------------
+ Server: Apache/2.4.52 (Ubuntu)
+ /admin.txt: This might be interesting...
+ /info.php: Output from the phpinfo() function was found.
+ 1500 requests: 0 error(s) and 3 item(s) reported on remote host
+ End Time: 2026-10-25 10:05:03 (GMT0) (3 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested
Durch die Verwendung des Flags -Tuning können Sie Nikto an Ihre spezifischen Audit-Anforderungen anpassen, Zeit sparen und die Unübersichtlichkeit der Berichte reduzieren.
Ausgabe in einem Bericht speichern
In diesem Schritt lernen Sie, wie Sie die Ergebnisse Ihres Nikto-Scans in einer strukturierten Berichtsdatei speichern.
Bei der Durchführung professioneller Sicherheitsaudits ist es unerlässlich, Aufzeichnungen über Ihre Ergebnisse zu führen. Das direkte Lesen der Ergebnisse aus dem Terminal ist für schnelle Überprüfungen in Ordnung, aber das Teilen der Ergebnisse mit einem Team erfordert ein ordentliches Dokument. Nikto unterstützt das Speichern der Ausgabe in verschiedenen Formaten, darunter HTML, CSV, XML und Klartext.
Um einen Bericht zu speichern, müssen Sie zwei Flags verwenden:
-o(oder-output): Gibt den Dateipfad und den Namen an, unter dem der Bericht gespeichert wird.-Format: Gibt das Format des Berichts an (z. B.htm,csv,xml,txt).
Lassen Sie uns einen Scan durchführen und die Ausgabe als HTML-Datei in Ihrem Projektverzeichnis speichern. Führen Sie den folgenden Befehl aus:
nikto -h http://localhost -Format htm -o /home/labex/project/report.html
Während der Scan läuft, sehen Sie weiterhin die Standardausgabe in Ihrem Terminal. Sobald der Scan abgeschlossen ist, generiert Nikto die HTML-Datei unter dem von Ihnen angegebenen Pfad.
Sie können überprüfen, ob die Datei erfolgreich erstellt wurde, indem Sie den Inhalt Ihres aktuellen Verzeichnisses auflisten:
ls -l /home/labex/project/report.html
-rw-r--r-- 1 root root 4521 Oct 25 10:10 /home/labex/project/report.html
Dieser HTML-Bericht kann später heruntergeladen und in jedem Standard-Webbrowser geöffnet werden, was eine saubere, tabellarische Ansicht aller entdeckten Schwachstellen bietet.
Nikto-Schwachstellenbericht analysieren
In diesem letzten Schritt lernen Sie, wie Sie den generierten Bericht schnell mit Befehlszeilentools analysieren können.
Während HTML-Berichte hervorragend für die Anzeige in einem Browser geeignet sind, arbeiten Sie oft in einer reinen Terminalumgebung ohne grafische Benutzeroberfläche. In solchen Fällen können Sie Standard-Linux-Textverarbeitungstools wie grep verwenden, um spezifische Informationen aus Ihren Berichten zu extrahieren.
Lassen Sie uns den HTML-Bericht, den wir im vorherigen Schritt generiert haben, durchsuchen, um zu sehen, ob Nikto die Informationspreisgabe zum Apache-Serverstatus erfolgreich dokumentiert hat.
Verwenden Sie den Befehl grep, um nach dem Wort „server-status“ in Ihrem Bericht zu suchen:
grep "server-status" /home/labex/project/report.html
<td>/server-status: This reveals Apache information. Comment out appropriate line in httpd.conf or restrict access to allowed hosts.</td>
Überprüfen wir als Nächstes, ob der Bericht den fehlenden Sicherheits-Header X-Frame-Options erfasst hat. Dieser Header ist entscheidend, um Clickjacking-Angriffe zu verhindern.
grep "X-Frame-Options" /home/labex/project/report.html
<td>The anti-clickjacking X-Frame-Options header is not present.</td>
Durch die Kombination der Berichtsfunktionen von Nikto mit Linux-Befehlszeilen-Dienstprogrammen können Sie große Schwachstellenscans schnell analysieren, kritische Erkenntnisse extrahieren und mit der Absicherung Ihres Webservers beginnen.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab „Webserver-Scanning mit Nikto“ erfolgreich abgeschlossen.
In diesem Lab haben Sie gelernt:
- Einen grundlegenden Schwachstellenscan gegen einen Ziel-Webserver mit Nikto durchzuführen.
- Das Flag
-Tuningzu verwenden, um Ihre Scans auf bestimmte Schwachstellenkategorien zu fokussieren, wodurch falsch-positive Ergebnisse und die Scanzeit reduziert werden. - Ihre Scanergebnisse zur Dokumentation und Weitergabe in einen strukturierten HTML-Bericht zu exportieren.
- Den generierten Bericht mit Befehlszeilentools wie
grepzu analysieren, um kritische Sicherheitslücken schnell zu identifizieren.
Diese Fähigkeiten bilden eine solide Grundlage für die Durchführung schneller, erster Sicherheitsbewertungen von Web-Infrastrukturen.



