Einleitung
Nikto ist ein beliebter Open-Source-Webserver-Scanner, der umfassende Tests gegen Webserver für verschiedene Elemente durchführt, darunter über 6700 potenziell gefährliche Dateien/Programme, Prüfungen auf veraltete Versionen von über 1250 Servern und versionsspezifische Probleme auf über 270 Servern.
Das manuelle Scannen einer großen Anzahl von Hosts kann mühsam und zeitaufwendig sein. Ein effizienterer Ansatz besteht darin, alle Ihre Ziele in einer einzigen Datei aufzulisten und Nikto diese nacheinander scannen zu lassen. In diesem Lab lernen Sie, wie Sie eine Textdatei mit mehreren Zielhosts erstellen und Nikto verwenden, um mit einem einzigen Befehl einen Schwachstellenscan auf allen durchzuführen.
Erstellen einer Textdatei mit mehreren Ziel-IPs oder Hostnamen
In diesem Schritt erstellen Sie eine einfache Textdatei, die die Hostnamen der zu scannenden Ziele enthält. Nikto kann diese Datei lesen und jeden darin aufgeführten Host scannen. Jeder Hostname oder jede IP-Adresse sollte in einer neuen Zeile stehen. Wir verwenden den Texteditor nano, um diese Datei in Ihrem aktuellen Arbeitsverzeichnis, ~/project, zu erstellen.
Öffnen Sie zuerst eine neue Datei namens targets.txt mit nano:
nano targets.txt
Geben Sie nun im nano-Editor die folgenden beiden Hostnamen ein. Dies sind öffentliche Websites, die zu Testzwecken verfügbar sind.
scanme.nmap.org
example.com
Um die Datei in nano zu speichern, drücken Sie Strg+O (Ctrl+O), dann Enter, um den Dateinamen zu bestätigen. Um nano zu beenden, drücken Sie Strg+X (Ctrl+X).
Sie können den Inhalt Ihrer Datei mit dem Befehl cat überprüfen:
cat targets.txt
Sie sollten die folgende Ausgabe sehen:
scanme.nmap.org
example.com
Nun haben Sie eine Zieldatei für Nikto vorbereitet.
Verwenden des Flags -h mit dem Pfad zu Ihrer Textdatei
In diesem Schritt bereiten wir den Nikto-Befehl für einen Multi-Target-Scan vor. Das Flag -h (oder --host) wird verwendet, um das Ziel anzugeben. Während es normalerweise einen einzelnen Hostnamen oder eine IP-Adresse akzeptiert, kann es auch einen Dateipfad annehmen. Wenn Sie einen Dateipfad angeben, erkennt Nikto, dass es die Ziele aus dieser Datei lesen soll.
Die grundlegende Syntax für diese Operation lautet:
nikto -h /pfad/zu/ihrer/datei.txt
Da sich unsere Datei targets.txt im aktuellen Verzeichnis (~/project) befindet, können wir einfach den Dateinamen verwenden.
Bevor Sie den eigentlichen Scan ausführen, ist es eine gute Praxis, sich mit den Optionen von Nikto vertraut zu machen. Sie können das Hilfemenü anzeigen, indem Sie Folgendes ausführen:
nikto -Help
Scrollen Sie durch die Ausgabe, und Sie finden die Beschreibung für die Option -h / -host, die bestätigt, dass sie einen Host oder eine Datei von Hosts akzeptieren kann. Den eigentlichen Scan führen wir im nächsten Schritt aus.
Starten des Multi-Target-Scans
Nachdem Sie die Zieldatei erstellt und die Befehlsstruktur verstanden haben, ist es an der Zeit, den Scan zu starten. Nikto liest die Datei targets.txt und scannt jeden darin aufgeführten Host nacheinander.
Führen Sie den folgenden Befehl in Ihrem Terminal aus, um den Scan zu starten. Bitte haben Sie Geduld, da ein vollständiger Scan mehrerer Hosts mehrere Minuten dauern kann.
nikto -h targets.txt
Das Terminal zeigt nun den Fortschritt des Scans in Echtzeit an.
Überwachen der Ausgabe, während Nikto jeden Host sequenziell scannt
In diesem Schritt werden Sie die von Nikto generierte Ausgabe beobachten. Es müssen keine neuen Befehle ausgeführt werden. Während des Scans sehen Sie detaillierte Informationen für jedes Ziel.
Zuerst zeigt Nikto sein Banner an und beginnt mit dem ersten Ziel, scanme.nmap.org. Sie sehen Informationen wie die IP-Adresse, die Server-Software und alle gefundenen Schwachstellen.
Ein gekürztes Beispiel der anfänglichen Ausgabe für den ersten Host könnte wie folgt aussehen:
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 45.33.32.156
+ Target Hostname: scanme.nmap.org
+ Target Port: 80
+ Start Time: ...
---------------------------------------------------------------------------
+ Server: Apache/2.4.7 (Ubuntu)
... (Schwachstellenprüfungen und Ergebnisse für scanme.nmap.org) ...
Sobald der Scan für scanme.nmap.org abgeschlossen ist, beginnt Nikto automatisch mit dem Scannen des nächsten Ziels, example.com. Die Ausgabe wird den Wechsel zum neuen Ziel deutlich anzeigen:
... (Ende des Scans für scanme.nmap.org) ...
+ 1 host(s) getestet
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 93.184.216.34
+ Target Hostname: example.com
+ Target Port: 80
+ Start Time: ...
---------------------------------------------------------------------------
+ Server: ECS (sjc/4E5D)
... (Schwachstellenprüfungen und Ergebnisse für example.com) ...
Beobachten Sie einfach das Terminal, bis der gesamte Vorgang abgeschlossen ist.
Überprüfung der kombinierten Ergebnisse in der Ausgabe oder in der gespeicherten Datei
Sobald Nikto alle Hosts in targets.txt gescannt hat, gibt es eine abschließende Zusammenfassung aus. Diese Zusammenfassung enthält die Gesamtzahl der getesteten Hosts und die Endzeit des Scans. Das gesamte Scan-Protokoll für alle Hosts wird in Ihrem Terminal sichtbar sein.
Während die Ausgabe im Terminal nützlich ist, ist es für die Dokumentation oder weitere Analysen besser, die Ergebnisse in einer Datei zu speichern. Dies können Sie mit dem Flag -o (oder -output) tun.
Lassen Sie uns den Scan erneut ausführen, aber diesmal speichern wir die Ausgabe in einer Datei namens scan_results.txt.
nikto -h targets.txt -o scan_results.txt
Dieser Befehl führt denselben Scan durch, schreibt die Ausgabe aber zusätzlich zur Anzeige auf dem Bildschirm in scan_results.txt. Nach Abschluss des Scans können Sie den Inhalt des gespeicherten Berichts mit dem Befehl cat anzeigen:
cat scan_results.txt
Dies ermöglicht es Ihnen, die Ergebnisse aller gescannten Hosts jederzeit zu überprüfen, ohne den Scan erneut ausführen zu müssen.
Zusammenfassung
In diesem Lab haben Sie erfolgreich gelernt, wie Sie das Scannen mehrerer Webserver mit Nikto automatisieren. Sie haben geübt, eine Zielliste in einer Textdatei zu erstellen, wobei jedes Ziel in einer neuen Zeile steht. Anschließend haben Sie das Flag -h verwendet, um Nikto auf diese Datei zu verweisen, wodurch es jeden Host sequenziell scannen konnte. Schließlich haben Sie gelernt, wie Sie die kombinierten Ergebnisse eines Multi-Host-Scans mit dem Flag -o in einer Ausgabedatei speichern können, um eine einfache Überprüfung und Dokumentation zu ermöglichen. Diese Methode ist eine grundlegende Technik zur Verbesserung der Effizienz in Arbeitsabläufen der Netzwerkerkundung und Schwachstellenbewertung.


