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.
Standardmäßig sendet Nikto Anfragen so schnell wie möglich an den Zielserver. Dies ist zwar effizient, kann aber leicht von Sicherheitssystemen erkannt werden und den Zielserver stark belasten. Die Option -Pause ermöglicht es Ihnen, die Geschwindigkeit des Scans zu steuern, indem Sie eine Verzögerung zwischen den einzelnen Tests einfügen.
In diesem Lab lernen Sie, wie Sie die Option -Pause in Nikto verwenden, um langsamere, weniger aufdringliche Scans durchzuführen.
Zweck der Option -Pause verstehen
In diesem Schritt lernen Sie die Option -Pause in Nikto kennen. Diese Option wird verwendet, um eine Verzögerung in Sekunden zwischen jeder Scan-Anfrage anzugeben. Dies ist eine entscheidende Funktion für die Durchführung von unauffälligen Scans oder für das Testen fragiler Systeme, die möglicherweise keine hohe Anzahl von Anfragen gut verarbeiten können.
Beginnen wir damit, die Hilfeinformationen für Nikto anzuzeigen, um die Beschreibung der Option -Pause zu sehen. Dies ist eine gute Praxis, um die Funktionalität der Optionen eines jeden Werkzeugs zu verstehen.
Führen Sie den folgenden Befehl im Terminal aus:
nikto -Help
Scrollen Sie durch die Ausgabe und suchen Sie nach der Option -Pause. Sie sehen eine Beschreibung, die ihre Funktion erklärt.
...
-Pause <seconds> Pause zwischen Tests (Sekunden, Ganzzahl oder Gleitkommazahl)
...
Dies bestätigt, dass -Pause eine Zahl (Ganzzahl oder Gleitkommazahl) akzeptiert, die die Sekunden angibt, die zwischen jedem Test gewartet werden sollen.
Scan mit -Pause 5 ausführen, um 5 Sekunden zwischen den Tests zu warten
In diesem Schritt führen Sie einen Nikto-Scan mit der Option -Pause durch. Unsere Laborumgebung verfügt über einen einfachen Webserver, der unter http://localhost:8000 läuft und den Sie scannen können.
Wir legen eine Pause von 5 Sekunden zwischen jedem Test fest. Das bedeutet, Nikto wartet 5 Sekunden, nachdem es eine Anfrage gesendet hat, bevor es die nächste sendet.
Führen Sie den folgenden Befehl in Ihrem Terminal aus, um den Scan zu starten:
nikto -h http://localhost:8000 -Pause 5
Lassen Sie uns den Befehl aufschlüsseln:
nikto: Der Befehl zum Ausführen des Nikto-Scanners.-h http://localhost:8000: Die Option-h(oder-host) gibt den Zielhost an. In diesem Fall ist es unser lokaler Testserver.-Pause 5: Dies weist Nikto an, 5 Sekunden zwischen jedem durchgeführten Test zu pausieren.
Nachdem Sie den Befehl ausgeführt haben, beginnt der Scan. Sie sehen die Ausgabe im Terminal erscheinen.
Langsameres Tempo des Scans beobachten
In diesem Schritt beobachten Sie die Ausgabe des Befehls, den Sie im vorherigen Schritt ausgeführt haben. Sie müssen hier keine neuen Befehle ausführen.
Schauen Sie in das Terminal, in dem der Nikto-Scan läuft. Sie sollten bemerken, dass neue Ausgabefelder, die die Ergebnisse einzelner Tests darstellen, viel langsamer erscheinen, als sie es bei einem Standard-Scan tun würden. Es wird eine spürbare Lücke von 5 Sekunden zwischen dem Erscheinen jedes neuen Testergebnisses auf dem Bildschirm geben.
Hier ist ein Beispiel dafür, wie die Ausgabe aussehen könnte, wobei jede Zeile nach einer Verzögerung erscheint:
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: localhost
+ Target Port: 8000
+ Start Time: 2023-10-27 10:30:00 (GMT0)
---------------------------------------------------------------------------
+ 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.
... (neue Zeilen erscheinen alle 5 Sekunden) ...
Dieses bewusste Tempo ist das direkte Ergebnis der Verwendung der Option -Pause 5. Ein vollständiger Scan kann mit dieser Einstellung eine erhebliche Zeit in Anspruch nehmen. Sie können den Scan jederzeit stoppen, indem Sie im Terminal Strg+C drücken. Für dieses Labor können Sie ihn eine Minute laufen lassen, um den Effekt zu beobachten, und ihn dann stoppen, bevor Sie fortfahren.
Analysieren, wie dies helfen kann, Rate-Limiting-Firewalls zu umgehen
In diesem Schritt werden wir einen primären sicherheitsrelevanten Grund für die Verwendung der Option -Pause diskutieren: die Umgehung von Rate-Limiting-Abwehrmaßnahmen.
Viele moderne Sicherheitssysteme, wie Web Application Firewalls (WAFs) und Intrusion Detection Systems (IDS), verwenden Rate-Limiting als Abwehrmechanismus. Rate-Limiting funktioniert, indem die Anzahl der Anfragen von einer einzelnen IP-Adresse über einen bestimmten Zeitraum verfolgt wird. Wenn die Anzahl der Anfragen einen vordefinierten Schwellenwert überschreitet (z. B. 100 Anfragen pro Minute), kann das System diese IP-Adresse vorübergehend oder dauerhaft blockieren.
Ein Standard-Nikto-Scan ist sehr aggressiv und sendet Hunderte oder Tausende von Anfragen in sehr kurzer Zeit. Dieses Verhalten würde fast sicher jede Rate-Limiting-Regel auslösen, was dazu führt, dass der Scan blockiert wird und seine Ergebnisse unvollständig und ungenau sind.
Durch die Verwendung von -Pause 5 ändern Sie die Anfragerate des Scans auf eine Anfrage alle 5 Sekunden, was nur 12 Anfragen pro Minute entspricht. Diese viel niedrigere Rate wird von einfachen Rate-Limiting-Abwehrmaßnahmen mit hoher Wahrscheinlichkeit nicht bemerkt, sodass Ihr Scan erfolgreich abgeschlossen werden kann, ohne blockiert zu werden. Dies macht die Option -Pause zu einem wertvollen Werkzeug für diskretere Penetrationstests.
Diese Option für das Scannen fragiler oder sensibler Systeme verwenden
In diesem Schritt werden wir einen weiteren wichtigen Anwendungsfall für die Option -Pause untersuchen: das verantwortungsvolle Scannen fragiler oder sensibler Systeme.
Aggressives, schnelles Scannen birgt nicht nur das Risiko der Entdeckung; es kann sich auch negativ auf die Stabilität des Zielsystems auswirken. Ein Webserver, insbesondere ein älterer, unterdimensionierter oder schlecht konfigurierter, kann Schwierigkeiten haben, eine plötzliche Flut von Anfragen von einem Scanner zu bewältigen. Dies kann zu einer erheblichen Leistungsverschlechterung führen, die Anwendung für legitime Benutzer langsam oder nicht reagierend machen oder im schlimmsten Fall dazu führen, dass der Webdienst oder der gesamte Server abstürzt.
Wenn Sie mit der Bewertung einer Live-Produktionsumgebung oder eines bekanntermaßen fragilen Systems beauftragt sind, ist die Verursachung eines Denial of Service unprofessionell und kontraproduktiv.
Die Verwendung der Option -Pause ist ein wichtiger Bestandteil der Durchführung einer verantwortungsvollen und professionellen Sicherheitsbewertung. Durch die Verlangsamung des Scans reduzieren Sie die Last auf dem Zielserver erheblich und minimieren das Risiko, dessen normalen Betrieb zu stören. Dies stellt sicher, dass Ihre Sicherheitstests die Geschäftsabläufe nicht beeinträchtigen.
Zusammenfassung
In diesem Labor haben Sie gelernt, wie Sie die Geschwindigkeit eines Nikto-Webserver-Scans mit der Option -Pause steuern können.
Sie haben das Ausführen eines Scans mit einer Verzögerung von 5 Sekunden zwischen den Anfragen geübt und beobachtet, wie dies das Tempo des Scans drastisch verlangsamt hat. Sie haben auch die beiden Hauptvorteile dieser Technik untersucht:
- Tarnung (Stealth): Das Verlangsamen von Anfragen hilft, einfache Rate-Limiting-Regeln zu umgehen, die in Firewalls und Intrusion Detection Systemen implementiert sind.
- Stabilität: Die Reduzierung der Anfragerate minimiert die Last auf dem Zielserver, was beim Scannen fragiler, unterdimensionierter oder kritischer Produktionssysteme entscheidend ist.
Die Beherrschung der Option -Pause ist ein wichtiger Schritt, um ein effektiverer und verantwortungsbewussterer Sicherheitsexperte zu werden.


