Nikto ist ein Werkzeug, das häufig von Personen verwendet wird, die ethische Hacking- und Pentest-Aktivitäten oder Penetrationstests durchführen . Nikto kann jede Plattform ausführen, auf der Perl ausgeführt werden kann, und Intrusion Detection-Systeme (IDS) umgehen.
Nikto dient der Kontrolle von CGI-Schwachstellen , jedoch auf ausweichende Weise, um Intrusion Detection-Systeme zu umgehen. Es wird mit einer vollständigen Dokumentation geliefert, die vor der Ausführung des Programms sorgfältig geprüft werden muss. Wenn Sie über Webserver verfügen, die CGI-Skripte bereitstellen, kann Nikto eine hervorragende Ressource für die Steuerung der Sicherheit dieser Server sein.
Nikto kann potenziell anfällige oder gefährliche Dateien identifizieren, es kann auch identifizieren, was es tut oder welche Dienste die Anwendung verwendet, die es scannt, und es verwendet auch eine Datenbank mit bekannten Anfälligkeiten, die Informationen enthält, um diese Bedrohungen während des Scannens zu erkennen.
Nikto ist ein Tool, mit dem Sie einen Webserver analysieren und alle Dateien und Dienste auf mögliche Bedrohungen und Sicherheitslücken untersuchen können.
- Fehlerhafte Konfigurationen des Servers und der verwendeten Software
- Identifizieren Sie Standarddateien und anfällig
- Identifizieren Sie anfällige Dateien und Software
Mit Nikto können veraltete Versionen der auf unserem Server installierten Software gescannt werden. Nikto führt einen schnellen Scan durch, um potenziell gefährdete Dateien und Programme auf unserem Server oder auf unserer Website zu finden.
Um Nikto ausführen zu können, muss unser Server Perl unterstützen. In den meisten Fällen wird Perl standardmäßig unterstützt. Es ist für alle Betriebssysteme wie Linux, Unix, CentOS, Debian, Ubuntu, MacOSX verfügbar. Windows und unterstützt SSL.
Das Ergebnis des Scannens des Servers ist ein Bericht, der in den folgenden TXT- und CSV-Formaten für Excel, HTML und XML generiert werden kann.
Wir können Nikto installieren, indem wir es aus dem Nikto GitHUB- Repository herunterladen
Dann entpacke die heruntergeladene Datei:
tar zxvf nikto-2.1.4.tar.gz cd nikto-2.1.4
Wir laufen mit Perl:
perl nikto.pl
Wenn wir ein Betriebssystem wie Ubuntu haben, wird Nikto aus den Repositories installiert:
sudo apt-get install nikto
Als nächstes aktualisieren wir die Nikto-Datenbank, um auf die Scan-Datenbank zuzugreifen und die Liste der verfügbaren Plugins zu aktualisieren .
nikto update
nikto -list-plugins
Nikto aktualisiert regelmäßig seine Repositorys, um Versionen von jedem hinzuzufügen und neue Schwachstellen zu aktualisieren, die auftreten. In diesem Fall ist das von Nikto verwendete Repository die Schwachstellendatenbank im Internet unter http://osvdb.org/.
Wir werden einen Webserver nach diesem Tutorial durchsuchen , einer BadStore- Installation, die wir in einem anderen Tutorial verwendet haben.
Wir werden eine IP und einen Port 80 mit der Option -p (Port) scannen, um den zu scannenden Port anzugeben
nikto -h 192.168.0.12 -p 80
Während der Überprüfung werden Informationen zu Sicherheitsanfälligkeiten angezeigt , nach denen wir auf der Seite Open Source Vulnerability Database (OSVDB) anhand des Codes suchen können. Auf dieser Seite erfahren Sie, worum es bei der Sicherheitsanfälligkeit geht und wie sie behoben werden kann. Beispielsweise haben wir den Code OSVDB-27487. Wir gehen zur Suchseite und geben den numerischen Code ein und klicken auf GO.
Das Ergebnis ist ein umfassender Bericht über die Sicherheitsanfälligkeit, Vorfälle, Problemlösungen und Statistiken über die Anzahl der Fälle, in denen die Sicherheitsanfälligkeit entdeckt wurde, einschließlich des Datums, an dem die Sicherheitsanfälligkeit zuletzt in großem Umfang entdeckt wurde.
Als Nächstes scannen wir die Integrität von Dateien mit den folgenden Parametern:
- d = Debug-Modus
- v = Details anzeigen
- h = zu scannender Host
niktol -D v -h 192.168.0.12
Nach dem Scan können wir feststellen, dass Fehler in Dateien oder Links gefunden wurden, die nicht im Web gefunden wurden. Wir können verschiedene Optionen in jeden Scan einbeziehen, um beispielsweise anzugeben, welche Aufgabe wir ausführen möchten. Es werden nur einige der wichtigsten Parameter zum Erkennen von Schwachstellen angezeigt.
3 – Weitergabe von Informationen
4 – XSS- und Javascript-Injektion
6 – Denial-of-Service-Scan
9 – SQL-Injection
Als Nächstes machen wir ein Beispiel mit Option 3 , um zu bestimmen, welche Informationen wir mit dem folgenden Befehl veröffentlicht haben:
nikto -Tuning 3 -h 192.168.0.12
Wir können sehen, dass der Scan einige Schwachstellen gefunden hat, die XSS-Angriffe ermöglichen könnten, bei denen Sie die Remotesteuerung des Servers übernehmen könnten, insbesondere, weil die Auflistung einiger Verzeichnisse möglich ist.
Diese Art der Sicherheitsanfälligkeit beruht auch auf der Tatsache, dass URLs mit Parametern nicht kontrolliert werden:
http: // meineDomäne /? section = misection & option = 101
Die Lösung wäre, freundlichere URLs zu erstellen und die gesendeten Parameter zu steuern.
Ein Angriff, der ausgeführt werden könnte, besteht darin, einen JavaScript-Code einzuschließen, der die Cookies des Servers lesen und so versuchen kann, Administratordaten abzurufen, wie z.
http: // meineDomäne /? section = <script> alert (document.cookie) </ script> & option = 101