Scan-Verhalten mit Tuning-Optionen in Nikto steuern

PythonBeginner
Jetzt üben

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.

Während ein Standardscan gründlich ist, kann er auch zeitaufwendig sein und viele Ausgaben generieren. Für gezieltere Bewertungen bietet Nikto die Option -Tuning. Mit dieser Funktion können Sie angeben, welche Testarten ausgeführt werden sollen, wodurch Ihre Scans schneller und fokussierter werden.

In diesem Lab lernen Sie, wie Sie die Option -Tuning verwenden, um das Scan-Verhalten von Nikto zu steuern. Sie werden das Ausführen von Scans mit verschiedenen Tuning-Stufen üben, um spezifische Schwachstellen zu finden und die Ergebnisse zu vergleichen.

Zweck der -Tuning-Option verstehen

In diesem Schritt lernen Sie die Option -Tuning und die verschiedenen Testkategorien kennen, die sie steuern kann. Die Option -Tuning hilft Ihnen, den Scan auf bestimmte Interessengebiete zu konzentrieren, Zeit zu sparen und Rauschen in der Ausgabe zu reduzieren.

Nikto kategorisiert seine Tests in verschiedene Typen. Sie können eine Zahl oder einen Buchstaben verwenden, um eine bestimmte Kategorie auszuwählen. Schauen wir uns die wichtigsten verfügbaren Tuning-Optionen an. Sie können diese anzeigen, indem Sie die Hilfeinformationen aufrufen.

Führen Sie den folgenden Befehl aus, um das Hilfemenü von Nikto anzuzeigen:

nikto -h

Scrollen Sie durch die Ausgabe und suchen Sie den Abschnitt -Tuning. Er wird in etwa so aussehen:

   -Tuning
       Tuning options control the test that Nikto will use against a target.
       By default, Nikto runs the default set of tests. The tuning options
       are a bitwise value, so they can be combined (e.g. -Tuning 12).
       The options are:
           0 - File Upload
           1 - Interesting File / Seen in logs
           2 - Misconfiguration / Default File
           3 - Information Disclosure
           4 - Injection (XSS/Script/HTML)
           5 - Remote File Retrieval - Inside Web Root
           6 - Denial of Service
           7 - Remote File Retrieval - Server Wide
           8 - Command Execution / Remote Shell
           9 - SQL Injection
           a - Authentication Bypass
           b - Software Identification
           c - Remote Source Inclusion
           x - Reverse Tuning Options (i.e., include all except specified)

Wie Sie sehen können, entspricht jede Zahl einer bestimmten Testkategorie. Zum Beispiel steht 1 für "Interesting File" (Interessante Datei) und 2 für "Misconfiguration" (Fehlkonfiguration). Die Option x ist besonders; sie kehrt die Logik um und weist Nikto an, alle Tests auszuführen, außer denen, die Sie angeben.

Scan mit -Tuning 1 für interessante Dateien ausführen

In diesem Schritt führen Sie einen fokussierten Scan durch, um nur nach "Interessanten Dateien" zu suchen. Diese Art von Scan sucht nach Dateien, die möglicherweise nicht direkt von der Webanwendung verlinkt sind, aber sensible Informationen enthalten könnten, wie z. B. Backup-Dateien, Konfigurationsdateien oder Protokolle. Unser Setup-Skript hat zu diesem Zweck eine Datei namens config.bak erstellt.

Wir werden die Option -Tuning 1 verwenden, um Nikto anzuweisen, nur Tests aus der Kategorie "Interesting File / Seen in logs" (Interessante Datei / In Protokollen gesehen) auszuführen. Der Webserver läuft auf 127.0.0.1 auf Port 8000.

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

nikto -h http://127.0.0.1:8000 -Tuning 1

Nach Abschluss des Scans sehen Sie eine Ausgabe, die der folgenden ähnelt. Beachten Sie, dass Nikto die Datei config.bak gefunden hat.

- 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
+ /config.bak: A backup file was found.
+ 1 host(s) tested

Dies zeigt, wie Sie schnell potenziell sensible Dateien finden können, ohne einen vollständigen, zeitaufwendigen Scan durchzuführen.

Scan mit -Tuning 2 für Fehlkonfigurationen ausführen

In diesem Schritt verwenden Sie die Option -Tuning 2, um nach gängigen Server-Fehlkonfigurationen und Standarddateien zu suchen. Eine häufige Fehlkonfiguration ist die Aktivierung des Verzeichnis-Indexings, das den Inhalt eines Verzeichnisses auflistet, wenn keine Indexdatei (wie index.html) vorhanden ist. Der einfache Python-Server, den wir verwenden, weist dieses Verhalten auf.

Führen wir einen Scan durch, der sich ausschließlich auf Fehlkonfigurationen konzentriert.

Führen Sie diesen Befehl aus:

nikto -h http://127.0.0.1:8000 -Tuning 2

Die Ausgabe zeigt Ergebnisse im Zusammenhang mit Fehlkonfigurationen. Sie sollten eine Meldung sehen, die darauf hinweist, dass das Verzeichnis-Indexing aktiviert 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
+ /: Directory indexing is enabled.
+ 1 host(s) tested

Beachten Sie, dass dieser Scan die Datei config.bak nicht gemeldet hat, da wir die Tests auf die Kategorie "Misconfiguration" beschränkt haben.

Verwenden Sie -Tuning x für einen inversen Tuning-Scan

In diesem Schritt lernen Sie, wie Sie das inverse Tuning verwenden. Manchmal möchten Sie einen breiten Scan durchführen, aber eine bestimmte Testkategorie ausschließen, von der Sie wissen, dass sie irrelevant oder zu "laut" ist. Die Option x in -Tuning ermöglicht Ihnen dies.

Nehmen wir zum Beispiel an, Sie möchten alle Tests ausführen, außer den Überprüfungen auf "Interessante Dateien". Dies können Sie erreichen, indem Sie x mit 1 kombinieren.

Führen Sie den folgenden Befehl aus, um einen inversen Scan durchzuführen, der "Interessante Datei"-Tests ausschließt:

nikto -h http://127.0.0.1:8000 -Tuning x1

Beobachten Sie die Ausgabe. Sie werden verschiedene Ergebnisse sehen, wie z. B. die Fehlkonfiguration des Verzeichnis-Indexings, aber die Datei config.bak wird nicht gemeldet.

- 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.
+ /: Directory indexing is enabled.
...
+ 1 host(s) tested

Das inverse Tuning ist eine leistungsstarke Methode, um Ihre Scans anzupassen, indem Sie bestimmte Überprüfungen entfernen, die für Ihre aktuelle Bewertung nicht erforderlich sind.

Vergleichen Sie die Ausgabe verschiedener Tuning-Stufen

In diesem abschließenden praktischen Schritt kombinieren Sie mehrere Tuning-Optionen, um einen umfassenderen, aber dennoch angepassten Scan zu erstellen. Die Option -Tuning akzeptiert mehrere Werte, um Tests aus allen angegebenen Kategorien auszuführen.

Führen wir einen Scan durch, der die Suche nach "Interessanten Dateien" (1) und "Fehlkonfigurationen" (2) kombiniert.

Führen Sie den folgenden Befehl aus:

nikto -h http://127.0.0.1:8000 -Tuning 12

Untersuchen Sie nun die Ausgabe. Sie werden sehen, dass Nikto Ergebnisse aus beiden Kategorien meldet. Es wird sowohl die Datei config.bak als auch das Problem mit dem Verzeichnis-Indexing finden.

- 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
+ /: Directory indexing is enabled.
+ /config.bak: A backup file was found.
+ 1 host(s) tested

Durch den Vergleich der Ergebnisse dieses Scans mit den vorherigen können Sie klar erkennen, wie die Option -Tuning es Ihnen ermöglicht, den Umfang Ihrer Sicherheitsbewertung präzise zu steuern. Sie können Optionen mischen und anpassen, um genau den Scan zu erstellen, den Sie benötigen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie das Verhalten von Nikto mithilfe der Option -Tuning effektiv steuern können. Diese leistungsstarke Funktion ist unerlässlich für die Durchführung effizienter und fokussierter Web-Sicherheitsbewertungen.

Sie haben geübt:

  • Die verschiedenen in Nikto verfügbaren Testkategorien zu verstehen.
  • Einen fokussierten Scan auf "Interessante Dateien" mit -Tuning 1 durchzuführen.
  • Auf "Fehlkonfigurationen" mit -Tuning 2 zu scannen.
  • Einen inversen Scan durchzuführen, um bestimmte Tests mit -Tuning x auszuschließen.
  • Mehrere Tuning-Optionen zu kombinieren, um ein benutzerdefiniertes Scan-Profil zu erstellen.

Durch die Beherrschung der Option -Tuning können Sie Ihren Workflow mit Nikto erheblich verbessern, sodass Sie sich schnell auf bestimmte Arten von Schwachstellen konzentrieren und die Zeit für die Analyse von Scan-Ergebnissen reduzieren können.