Webseiten absichern mit Nikto

Nikto ist ein beliebtes und verbreitetes Werkzeug um Webserver auf Schwachstellen zu testen. Potenzielle Schwachstellen und Probleme können mit dem automatisierten Scanner schnell gefunden werden. Nikto ist mittlerweile in nahezu jeder Linux Distribution als Standard-Tool enthalten und muss nicht unbedingt installiert werden.

Warum automatisierte Scans?

Automatisierte Schwachstellenscans stehen häufig in der Kritik, jedoch kann ein solcher Scan helfen, gängige Schwachstellen zu finden. Häufigster Kritikpunkt ist, dass es viele „False-Positives“ gibt – der Scanner erkennt also Schwachstellen, wo eigentlich keine vorliegen. Automatisierte Scans ersetzen natürlich keine fachmännische Begutachtung Ihrer Online Systeme, jedoch können automatisierte Scanner Ihnen helfen, häufige Fehler in Konfigurationen zu vermeiden. Webanwendungen werden – normalerweise von außen – auf Sicherheitsschwachstellen wie Cross-Site-Scripting, SQL Injection, Command Injection, Path Traversal und unsichere Serverkonfiguration untersucht. Expert:innen sprechen bei solchen Tools häufig von „Dynamic Application Security Testing“ (DAST). Das Open Web Application Security Project (OWASP) hat eine Übersicht über verfügbare Scanner auf Ihrer Webseite veröffentlicht.




Was ist Nikto?

Nikto wird von cirt.net bereitgestellt. Nikto durchsucht Webserver nach 6700 potenziell gefährlichen Dateien und Programmen. Es identifiziert zudem angreifbare Softwareversionen und Serverversionen. Nikto ist dabei nicht zimperlich. Es ist darauf ausgelegt innerhlab kürzester Zeit möglichst viel zu scannen. Betreiben Sie ein Intrusion Detection System oder ähnliches, werden Sie schnell Meldung bekommen, dass ein Angreifer sich an Ihren Webseiten zu schaffen macht. Die einzige Bedingung zur Verwendung von Nikto ist, dass Perl installiert ist. Dies ist auf den meisten System vorab erfüllt.

Verwendung von Nikto

Auf den meisten Linuxdistributionen ist nikto mittlerweile vorinstalliert. Sollte dies nicht der Fall sein, können Sie es meistens über den Paketmanager installieren. Vergessen Sie nicht, vorher ein Update durchzuführen. Unter Ubuntu würde das ganze so funktionieren:
apt install nikto -y
Nachdem Sie Nikto installiert haben, können Sie überprüfen, ob Nikto funktioniert indem Sie sich die Hilfe anzeigen lassen, die Ihnen einige grundlegenden Parameter erklärt:
nikto -help
Sie sollten Nikto regelmäßig updaten, da es regelmäßig neue Informationen und Angriffe gibt die sie nur mit einer aktuellen Version überprüfen können. Sie können Nikto mit dem folgenden Befehl updaten.
nikto update
Nachdem wir nun sichergestellt haben, dass unser Tool aktuell ist und funktioniert können wir mit dem Testen starten. Wir wollen unser Ziel unter der Web Adresse „example.com“ angreifen. Hierfür starten wir den Scan. Zudem wollen wir die Ergebnisse als HTML-Dokument speichern, damit wir Sie komfortabel im Browser öffnen können.
nikto -h https://example.com -o test.html -F html
Nun startet unser Scan und wir können im Anschluss die Ergebnisse komfortabel im Browser ansehen. Mit der Option „-h“ definieren wir das Zielobjekt. Hier können auch Textdateien übergeben werden, falls mehrere Ziele gescannt werden sollen. „-o“ und „-F“ definieren einmal den Speicherort und das Speicherformat der Ergebnisse des Scans. Wenn Sie nun also Ihren Webserver testen wollen, dann können Sie nun starten.

Ein weiterer Vorteil von Nikto ist, dass Ergebnisse aus einem Scan direkt in ein durch „Metasploit“ lesbares Format umgewandelt werden können. Das Format kann uns dabei helfen, die gefundene Datei schnell mit einem funktionierenden Exploit zu verbinden. Gerade im Bereich des professionellen Pentestings ist dies ein gern verwendetes Feature. Auch bei den Pentests der AWARE7 kommt das Werkzeug ab und zu zum Einsatz.


Sevencast – der IT-Security Podcast

Von unterwegs, im Büro oder zu Hause hören und auf dem aktuellen Stand bleiben!

Sevencast bei Spotify
Sevencast bei Apple Podcast
Sevencast bei Overcast