Scan-Ausgabe mit Nikto in eine Datei speichern

Kali LinuxBeginner
Jetzt üben

Einleitung

Nikto ist ein beliebter Open-Source-Webserver-Scanner, der umfassende Tests gegen Webserver für mehrere 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.

Wenn Sie einen Scan ausführen, werden die Ergebnisse normalerweise direkt in Ihrem Terminal angezeigt. Für die Dokumentation, weitere Analysen oder die Weitergabe an ein Team ist es unerlässlich, diese Ausgabe in einer Datei zu speichern. Nikto bietet flexible Optionen, um Scan-Berichte in verschiedenen Formaten zu speichern.

In diesem Lab lernen Sie, wie Sie Nikto-Scan-Ergebnisse in einer Datei speichern. Sie üben das Speichern der Ausgabe in den Formaten Klartext (.txt) und Comma-Separated Values (.csv), indem Sie einen einfachen, lokal laufenden Webserver scannen.

Wählen Sie ein Klartext-Ausgabeformat

In diesem Schritt werden Sie die verschiedenen Ausgabeformate untersuchen, die Nikto unterstützt. Nikto verwendet Plugins für seine Berichtsfunktionen, und Sie können diese auflisten, um die verfügbaren Formate zu sehen.

Die Option -list-plugins zeigt alle verfügbaren Plugins an, einschließlich derer für die Berichterstattung. Führen wir diesen Befehl aus, um zu sehen, welche Formate wir verwenden können.

Führen Sie den folgenden Befehl in Ihrem Terminal aus:

nikto -list-plugins

Sie sehen eine lange Liste von Plugins. Scrollen Sie durch die Ausgabe und suchen Sie nach dem Abschnitt "Reporting". Dieser Abschnitt listet alle Dateiformate auf, in denen Sie Ihre Scan-Ergebnisse speichern können.

...
Reporting
--------------------------------------------------
        csv - Comma-separated value
        htm - HTML Report
        json - JSON Report
        nbe - Nessus NBE format
        sql - SQL (generic)
        txt - Plain text
        xml - XML
...

Wie Sie sehen können, ist txt als "Plain text"-Format aufgeführt. Wir werden dieses Format zuerst verwenden.

Verwenden Sie das Flag -o, um einen Ausgabedateinamen anzugeben

In diesem Schritt lernen Sie das Flag kennen, das zur Angabe einer Ausgabedatei verwendet wird. Um Nikto mitzuteilen, wo der Bericht gespeichert werden soll, verwenden Sie das Flag -o (oder --output).

Dieses Flag muss zusammen mit dem Flag -Format verwendet werden, das das im vorherigen Schritt gewählte Dateiformat angibt. Die grundlegende Syntax lautet:

nikto -h <Ziel> -Format <Format> -o <Dateiname>

Verwenden wir die Option -help, um die offizielle Beschreibung für das Flag -o anzuzeigen. Sie können die Ausgabe an grep weiterleiten, um die relevante Zeile schnell zu finden.

Führen Sie diesen Befehl aus:

nikto -help | grep -- "-o "

Die Ausgabe zeigt Ihnen die Verwendung der Flags -o und --output.

-o, -output <file>      Write output to this file

Jetzt wissen Sie, wie Sie sowohl das Format als auch den Dateinamen angeben können. Im nächsten Schritt werden wir diese kombinieren, um einen Scan auszuführen und die Ergebnisse zu speichern.

Führen Sie den Scan aus und generieren Sie die Textdatei

In diesem Schritt führen Sie einen Scan durch und speichern die Ausgabe in einer Klartextdatei. Wir werden die Flags und Informationen aus den vorherigen Schritten kombinieren.

Unser Ziel ist der lokale Webserver, der auf Port 8000 läuft. Die URL für diesen Server lautet http://127.0.0.1:8000.

  • Ziel-Host (-h): http://127.0.0.1:8000
  • Format (-Format): txt
  • Ausgabedatei (-o): scan_report.txt

Erstellen Sie nun den vollständigen Befehl und führen Sie ihn in Ihrem Terminal aus. Alle Operationen sollten im Standardverzeichnis ~/project durchgeführt werden.

nikto -h http://127.0.0.1:8000 -Format txt -o scan_report.txt

Nikto startet den Scan. Sie sehen den Fortschritt des Scans im Terminal, aber der endgültige Bericht wird in die Datei scan_report.txt geschrieben. Bitte warten Sie, bis der Scan abgeschlossen ist.

- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          127.0.0.1
+ Target Hostname:    127.0.0.1
+ Target Port:        8000
+ Start Time:         ...
---------------------------------------------------------------------------
+ Server: SimpleHTTP/0.6 Python/3.10.6
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type.
...
+ 1 host(s) tested

Sobald der Befehl abgeschlossen ist, wird eine neue Datei namens scan_report.txt in Ihrem aktuellen Verzeichnis (~/project) erstellt.

Überprüfen Sie den Inhalt der gespeicherten Textdatei

In diesem Schritt überprüfen Sie, ob die Scanergebnisse korrekt in der Textdatei gespeichert wurden. Sie können ein Befehlszeilentool wie cat verwenden, um den Inhalt der Datei anzuzeigen.

Führen Sie den folgenden Befehl aus, um den Inhalt von scan_report.txt anzuzeigen:

cat scan_report.txt

Die Ausgabe ist der vollständige Nikto-Bericht, der dem während des Scans im Terminal angezeigten Ausgabe sehr ähnlich sein sollte.

Nikto V2.5.0
================================================================
+-----------+
| General |
+-----------+
Date: ...
Start Time: ...
End Time: ...
Version: 2.5.0
...
+-----------+
|  Target   |
+-----------+
IP: 127.0.0.1
Hostname: 127.0.0.1
Port: 8000
...
+-----------+
| Findings  |
+-----------+
+ The anti-clickjacking X-Frame-Options header is not present.
...

Sie haben erfolgreich einen Nikto-Scanbericht in einer Klartextdatei gespeichert. Diese Datei kann nun einfach gespeichert, archiviert oder geteilt werden.

Wiederholen Sie den Vorgang, um im CSV-Format zu speichern

In diesem Schritt wiederholen Sie den Vorgang, um die Scanergebnisse in einem anderen Format zu speichern: CSV (Comma-Separated Values). Das CSV-Format ist strukturiert und ideal für den Import in Tabellenkalkulationen wie Excel oder LibreOffice Calc oder für die Verarbeitung mit Skripten.

Das Vorgehen ist fast identisch. Sie müssen lediglich den Wert für das Flag -Format auf csv ändern und einen neuen Dateinamen mit der Erweiterung .csv angeben.

  • Ziel-Host (-h): http://127.0.0.1:8000
  • Format (-Format): csv
  • Ausgabedatei (-o): scan_report.csv

Führen Sie den folgenden Befehl aus, um den Bericht im CSV-Format zu generieren:

nikto -h http://127.0.0.1:8000 -Format csv -o scan_report.csv

Nach Abschluss des Scans wird eine neue Datei namens scan_report.csv erstellt. Sehen wir uns deren Inhalt mit dem Befehl cat an.

cat scan_report.csv

Die Ausgabe wird mit durch Kommas getrennten Feldern strukturiert sein, was dem Standard für CSV-Dateien entspricht.

"Host","IP","Port","Banner","Date","Vulnerability","Method","Description","Reference"
"127.0.0.1","127.0.0.1","8000","","...","OSVDB-3233: The anti-clickjacking X-Frame-Options header is not present.","GET","",""
"127.0.0.1","127.0.0.1","8000","","...","OSVDB-3092: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type.","GET","",""
...

Sie haben nun erfolgreich einen Bericht in zwei verschiedenen Formaten generiert, was die Flexibilität der Ausgabeoptionen von Nikto zeigt.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie die Ausgabe des Nikto Webserver-Scanners verwalten. Sie haben erfolgreich einen lokalen Webserver gescannt und die Ergebnisse zur späteren Verwendung in Dateien gespeichert.

Insbesondere haben Sie geübt:

  • Auflisten verfügbarer Ausgabeformate mit der Option -list-plugins.
  • Verwenden der Flags -o und -Format, um die Ausgabedatei und deren Format zu steuern.
  • Generieren eines Scanberichts im Klartextformat (.txt).
  • Generieren eines Scanberichts im Comma-Separated Values (.csv) Format.

Diese Fähigkeit ist grundlegend für jeden Sicherheitsexperten, der Ergebnisse dokumentieren, Offline-Analysen durchführen oder Scanergebnisse in größere Berichtssysteme integrieren muss.