Das Open-Source-Tool Nikto kann Sicherheitslücken in Webservern und deren Konfigurationen aufzuspüren. Dazu führt Nikto automatisierte Scans durch und erkennt bekannte Schwachstellen, Fehlkonfigurationen sowie veraltete Softwareversionen. Wir zeigen in diesem Tool-Tipp die Möglichkeiten des Tools.
In diesem Tool-Tipp zeigen wir die ersten Schritte und Möglichkeiten mit Nikto, einem Open-Source-Schwachstellen-Scanner für Webserver.
(Bild: Midjourney / KI-generiert)
Mit seiner breiten Unterstützung für unterschiedliche Webserver wie Apache, IIS oder Nginx eignet sich Nikto insbesondere für Administratoren, die Sicherheitsprobleme auf ihren Servern effizient identifizieren möchten. Auch Anwendungen wie SharePoint und Exchange lassen sich gezielt analysieren, um spezifische Sicherheitsrisiken aufzudecken. Nikto gehört zum Beispiel zum Lieferumfang von Kali-Linux.
In diesem Tool-Tipp-Video zeigen wir die ersten Schritte und Möglichkeiten mit dem Schwachstellen-Scanner für Webserver Nikto.
Grundlagen eines Nikto-Scans
Die Nutzung von Nikto erfolgt direkt über das Terminal. Ein einfacher Scan beginnt mit der Eingabe eines Zielservers. Wir gehen in diesem Beitrag von einem Webserver aus, der auf die IP-Adresse 10.0.4.172 hört:
nikto -h 10.0.4.172
Hierbei untersucht Nikto den angegebenen Server auf bekannte Schwachstellen. Dabei werden typische Probleme wie fehlende Sicherheitspatches, exponierte Admin-Panels oder unsichere HTTP-Header erkannt. Ein Scan dieser Art liefert detaillierte Ergebnisse über den Status des Webservers. Ein Administrator kann dadurch feststellen, dass der Server HTTP-Methoden wie TRACE oder PUT erlaubt, die für Angreifer Angriffsvektoren darstellen.
Standardmäßig überprüft Nikto HTTP- und HTTPS-Ports (80 und 443). Wenn ein Webserver auf einem nicht standardmäßigen Port läuft, kann der -p-Parameter genutzt werden, um gezielt diese Ports zu analysieren:
Erkennung von Schwachstellen in IIS auf Windows-Servern
Ein praktisches Szenario ist der Einsatz von Nikto zur Analyse eines IIS-Webservers oder auch von Nextcloud. IIS (Internet Information Services) wird oft in Unternehmensumgebungen genutzt, ist jedoch bei falscher Konfiguration anfällig für Angriffe, wie andere Webserver auch. Mit einem gezielten Scan kann der Administrator nicht nur allgemeine Schwachstellen aufdecken, sondern auch IIS-spezifische Probleme identifizieren. Dabei kann auch direkt der FQDN des Servers genutzt werden:
nikto -h iis-server.example.com
Nikto erkennt zum Beispiel potenziell exponierte Verzeichnisse wie /aspnet_client, die auf einen falsch konfigurierten Server hinweisen. Diese Verzeichnisse können sensible Informationen preisgeben oder als Einstiegspunkt für weiterführende Angriffe dienen. Das Tool prüft auch auf unsichere Versionen des IIS-Servers und gibt Hinweise, welche Updates erforderlich sind, um Sicherheitslücken zu schließen. SharePoint, Exchange und andere Webdienste sind in vielen Unternehmen ein zentraler Bestandteil der IT-Infrastruktur, weshalb auch hier die Sicherheit eine hohe Priorität besitzt. Mit Nikto lassen sich SharePoint-Webanwendungen effektiv auf Sicherheitsprobleme untersuchen. Das geht natürlich auch mit anderen Webdiensten. Soll Nikto gezielt den Port 443 testen, erfolgt das mit:
nikto -h sharepoint.example.com -p 443
In diesem Fall prüft Nikto den SharePoint-Server, der über HTTPS auf Port 443 läuft. Es können dabei bekannte Schwachstellen wie unsichere Servicekonfigurationen oder standardmäßig aktivierte Seiten wie /_vti_bin aufgedeckt werden. Diese Seiten stellen häufig Angriffsziele dar, da sie Einblicke in die interne Struktur des SharePoint-Systems gewähren. Auch die Erkennung unsicherer Authentifizierungsmechanismen, wie schwache NTLM-Konfigurationen, gehört zu den Ergebnissen eines solchen Scans.
In diesem Tool-Tipp-Video zeigen wir die ersten Schritte und Möglichkeiten mit dem Schwachstellen-Scanner für Webserver Nikto.
Individuelle Tests mit benutzerdefinierten Payloads
Nikto ermöglicht auch spezifische Tests mit benutzerdefinierten Payloads, was bei der Untersuchung spezifischer Schwachstellen hilfreich ist. Nikto kann mit einer eigenen Konfigurationsdatei eine gezielte Prüfung auf SQL-Injection-Schwachstellen durchführen:
nikto -h webserver.example.com -id sql_injection.conf
Durch die Anpassung der Scan-Einstellungen lassen sich so Tests für spezifische Anwendungen oder Umgebungen optimieren. In einer Umgebung mit mehreren Servern kann Nikto zudem parallel arbeiten, was den gesamten Prozess deutlich beschleunigt.
Nutzung von SSL-Optionen mit -ssl und Überprüfung von Zertifikaten
Bei HTTPS-Verbindungen bietet Nikto detaillierte Prüfungen der SSL/TLS-Konfiguration. Das ist interessant, um Schwachstellen wie veraltete Verschlüsselungsprotokolle oder schwache Schlüssel aufzudecken. Durch die Option -ssl lässt sich Nikto explizit auf HTTPS-Dienste ausrichten:
nikto -h secure-web.example.com -ssl
Zusätzlich erkennt Nikto Zertifikatsprobleme, wie abgelaufene Zertifikate oder unzureichende Schlüssellängen. Dies ist besonders bei öffentlich zugänglichen Diensten wie SharePoint oder Exchange OWA von Bedeutung, da unsichere Zertifikate ein Einfallstor für Man-in-the-Middle-Angriffe darstellen.
Der Parameter -Tuning ermöglicht eine spezifische Anpassung des Scans, um gezielt bestimmte Testkategorien zu aktivieren. Diese Option ist hilfreich, wenn nur bestimmte Aspekte des Webservers getestet werden sollen. Ein Administrator könnte beispielsweise nur auf XSS-Schwachstellen und HTTP-Header-Sicherheitsprobleme prüfen:
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
nikto -h webserver.example.com -Tuning 5,9
Die Ziffern entsprechen den Kategorien, die Nikto testen soll. In diesem Fall stehen 5 für Cross-Site-Scripting und 9 für HTTP-Header-Probleme. Ein solcher gezielter Scan liefert effizient Ergebnisse für spezifische Angriffsvektoren, ohne dass allgemeine Tests Zeit und Ressourcen beanspruchen.
Viele Webanwendungen sind durch Authentifizierung geschützt, was einen umfassenden Test ohne gültige Zugangsdaten erschwert. Nikto unterstützt grundlegende Authentifizierungsmethoden wie HTTP Basic und NTLM. Mit den Parametern -id oder -user und -pass können Zugangsdaten direkt übergeben werden:
nikto -h protected-web.example.com -id admin:password123
Um die Scans über einen Proxyserver laufen zu lassen, etwa in einer gesicherten Netzwerkumgebung oder um Anonymität zu wahren, bietet Nikto die Option -useproxy. Ein solcher Proxy-Scan könnte folgendermaßen aussehen:
nikto -h webserver.example.com -useproxy http://proxyserver:8080
Das ermöglicht auch das Umgehen von IP-Restriktionen, wenn der Zielserver nur Anfragen von bestimmten Adressen akzeptiert.
Statt einzelne Server manuell zu scannen, können Administratoren mit Nikto auch ganze Netzwerke automatisiert überprüfen. Durch eine Datei mit einer Liste von Zielhosts und Ports kann der -hostfile-Parameter genutzt werden:
nikto -hostfile targets.txt
Die Datei targets.txt enthält mehrere Server in der Form:
192.168.1.10:80192.168.1.11:443iis.example.com
Nikto arbeitet die Liste systematisch ab und erstellt individuelle Berichte für jedes Ziel. Diese Funktion eignet sich hervorragend für größere Umgebungen mit mehreren Webservern.
Nach einem umfassenden Scan ist eine übersichtliche Dokumentation der Ergebnisse essenziell. Mit dem -output-Parameter speichert Nikto die Ergebnisse in verschiedenen Formaten wie Text, HTML oder XML:
nikto -h webserver.example.com -output scan_results.html
Für den Einsatz in automatisierten Prozessen kann das XML-Format genutzt werden, um die Ergebnisse in andere Sicherheitswerkzeuge oder Dashboards zu integrieren.
In diesem Tool-Tipp-Video zeigen wir die ersten Schritte und Möglichkeiten mit dem Schwachstellen-Scanner für Webserver Nikto.
DNS-basierte Scans und Virtual Hosts mit -vhost
Viele Webserver hosten mehrere Websites auf derselben IP-Adresse. Um spezifische Scans für solche Virtual Hosts durchzuführen, bietet Nikto die -vhost-Option. Ein gezielter Scan einer bestimmten Website auf einem Server mit mehreren Hosts könnte so aussehen:
nikto -h 192.168.1.100 -vhost subdomain.example.com
Damit stellt Nikto sicher, dass der korrekte Host-Header übermittelt wird, was vor allem bei HTTPS-Servern und Anwendungen wie Exchange OWA entscheidend ist. Ohne diese Option würde der Server möglicherweise nur die Standardseite liefern, wodurch Schwachstellen in spezifischen virtuellen Hosts übersehen werden.
Ein häufiger Angriffsvektor bei Exchange-Servern sind Schwachstellen wie ProxyShell. Um gezielt danach zu suchen, kann Nikto für spezifische Pfade und Exploits eingesetzt werden. Dies geschieht, indem die Payloads in eine angepasste Konfigurationsdatei eingebunden werden, die Nikto gezielt ausführt:
nikto -h exchange.example.com -config proxy_shell_tests.conf
In der Datei proxy_shell_tests.conf könnten spezifische Tests für Schwachstellen wie CVE-2021-34473 oder CVE-2021-34523 hinterlegt sein. Dies ermöglicht gezielte Tests, ohne dass irrelevante Schwachstellen das Ergebnis verzerren. Besonders hilfreich ist dies in hybriden Exchange-Umgebungen, die sowohl lokal als auch in der Cloud betrieben werden.
Verzeichnis-Bruteforce mit angepassten Wörterlisten
Standardmäßig prüft Nikto auf eine Vielzahl von bekannten Verzeichnissen und Dateien. Um die Effektivität zu erhöhen, können benutzerdefinierte Wörterlisten verwendet werden, die spezifisch für die Zielumgebung sind. Dies wird durch die Option -mutate in Kombination mit einer eigenen Liste ermöglicht:
nikto -h webserver.example.com -mutate 3 -404code 403
Der Parameter -mutate 3 aktiviert eine erweiterte Verzeichnissuche, die auf der gegebenen Wortliste basiert. Mit der zusätzlichen Angabe von -404code 403 ignoriert Nikto dabei irreführende Fehlermeldungen, etwa wenn ein Server eine 403-Antwort statt der üblichen 404-Nachricht liefert. Solche Methoden sind besonders hilfreich bei stark modifizierten IIS-Servern oder Webanwendungen wie SharePoint, bei denen eigene HTTP-Antwortcodes konfiguriert wurden.
Nikto kann auch für die Identifikation eingesetzter Technologien und Content-Management-Systeme (CMS) verwendet werden. Mit dem -findonly-Parameter fokussiert sich der Scan ausschließlich auf die Erkennung der eingesetzten Software, ohne vollständige Tests auszuführen:
nikto -h cms.example.com -findonly
In diesem Tool-Tipp-Video zeigen wir die ersten Schritte und Möglichkeiten mit dem Schwachstellen-Scanner für Webserver Nikto.
Umfangreiche Tests durch Plugins mit -Plugins
Nikto unterstützt Plugins, die den Funktionsumfang erheblich erweitern. Mit -Plugins können Administratoren gezielt Zusatzmodule aktivieren, etwa für die Prüfung auf Malware-Infektionen oder unsichere Inhalte. Ein Beispiel für den Einsatz von Plugins:
nikto -h compromised.example.com -Plugins anti-malware
Dieses Plugin sucht nach Indikatoren für kompromittierte Webseiten, wie schädliche Skripte oder eingefügte Links zu bekannten Malware-Domains. Solche Tests sind besonders bei IIS-Servern relevant, die häufig Ziel von Angriffen mit Webshells oder inject-Skripten sind.
Um Server während geschäftskritischer Phasen nicht zu überlasten, können Administratoren den Scan mit dem -delay-Parameter verlangsamen. Dies reduziert die Belastung und minimiert die Wahrscheinlichkeit, dass Sicherheitslösungen den Scan blockieren:
nikto -h webserver.example.com -delay 2
Hier fügt Nikto zwischen jeder Anfrage eine Pause von 2 Sekunden ein. Diese Methode eignet sich insbesondere für Produktionsumgebungen oder Server, die hinter einer Web Application Firewall (WAF) stehen.
In großen Umgebungen mit vielen Hosts und möglichen Schwachstellen ist es hilfreich, irrelevante Ergebnisse auszublenden. Der Parameter -nointeractive sorgt dafür, dass Nikto die Analyse ohne Benutzereingriffe fortsetzt und weniger relevante Warnungen ignoriert:
nikto -h webfarm.example.com -nointeractive
Dieser Ansatz ist besonders nützlich bei Tests von Server-Farmen mit ähnlichen Konfigurationen, wie sie häufig bei Load-Balancing-Infrastrukturen mit IIS oder Exchange zu finden sind.
Nikto lässt sich nahtlos in CI/CD-Pipelines integrieren, um Sicherheitsüberprüfungen während des Entwicklungsprozesses zu automatisieren. Der Parameter -timeout stellt sicher, dass ein Scan nicht zu lange dauert und sich in bestehende Workflows einfügt:
nikto -h dev-server.example.com -timeout 300
Hier wird der Scan nach 300 Sekunden abgebrochen, falls er nicht abgeschlossen ist. Diese Option ist nützlich, um Sicherheitschecks in Testumgebungen durchzuführen, ohne dass diese den Entwicklungsprozess verzögern.
In diesem Tool-Tipp-Video zeigen wir die ersten Schritte und Möglichkeiten mit dem Schwachstellen-Scanner für Webserver Nikto.