Scannen Sie Ihren Webserver auf Sicherheitslücken und Fehlkonfigurationen – KOSTENLOS mit dem Nikto Scanner
97% der von Trustwave getesteten Anwendungen wiesen eine oder mehrere Schwachstellen auf
Und 14% der untersuchten Eindringlinge waren auf eine Fehlkonfiguration zurückzuführen. Eine Fehlkonfiguration kann zu ernsthaften Risiken führen
Es gibt eine Reihe von Online-Schwachstellen-Scannern, mit denen Sie Ihre Webanwendungen im Internet testen können. Wenn Sie jedoch Intranet-Anwendungen oder interne Anwendungen testen möchten, können Sie den Nikto Web Scanner verwenden
Nikto ist ein Open-Source-Scanner und Sie können ihn mit jedem Webserver (Apache, Nginx, IHS, OHS, Litespeed usw.) verwenden. Das klingt nach einem perfekten internen Tool zum Scannen von Webservern. Es ist in der Lage, nach über 6700 Elementen zu scannen, um Fehlkonfigurationen, riskante Dateien usw. aufzuspüren, und einige der Funktionen umfassen
- Sie können den Bericht in HTML, XML oder CSV speichern
- Es unterstützt SSL
- Scannen Sie mehrere Ports des Servers
- Finden Sie Subdomains
- Apache-Benutzeraufzählung
- Prüft auf veraltete Komponenten
- Parkende Websites erkennen
Lassen Sie uns mit der Installation und der Verwendung dieses Tools beginnen
Es gibt viele Möglichkeiten, Nikto zu verwenden
- Verwendung von Kali Linux
- Docker-Container
- Verwenden Sie die Binärdatei auf einer UNIX-basierten Distribution oder unter Windows.
Hinweis: Bei der Durchführung des Scans werden viele Anfragen an Ihren Webserver gestellt. Sie erkennen das Risiko an und führen den Scan nur auf Ihren Servern durch
Verwendung von Nikto unter Kali Linux
Da es in Kali integriert ist, müssen Sie nichts installieren
- Melden Sie sich bei Kali Linux an
- Gehen Sie zu Anwendungen >> Schwachstellenanalyse und klicken Sie auf nikto
Es öffnet sich ein Terminal, in dem Sie den Scan gegen Ihren Webserver ausführen können. Es gibt mehrere Syntaxen, mit denen Sie den Scan ausführen können. Am schnellsten geht es jedoch wie folgt
# nikto -h $webserverurl
Vergessen Sie nicht, $webserverurl durch die tatsächliche IP oder den FQDN Ihres Webservers zu ersetzen
root@Chandan:~# nikto -h thewebchecker.com
- Nikto v2.1.6
---------------------------------------------------------------------------
Ziel-IP: 128.199.222.244
Ziel-Hostname: thewebchecker.com
Ziel-Port: 80
Startzeit: 2016-08-22 06:33:13 (GMT8)
---------------------------------------------------------------------------
Server: Apache/2.4.18 (Ubuntu)
Server leckt Inodes über ETags, Header gefunden mit Datei /, Felder: 0x2c39 0x53a938fc104ed
Der Anti-Clickjacking-Header X-Frame-Options ist nicht vorhanden.
Der X-XSS-Protection-Header ist nicht definiert. Dieser Header kann dem Benutzer-Agenten Hinweise zum Schutz vor einigen Formen von XSS geben
Der X-Content-Type-Options-Header ist nicht gesetzt. Dies könnte es dem Benutzer-Agenten ermöglichen, den Inhalt der Website in einer anderen Art und Weise als dem MIME-Typ darzustellen
Keine CGI-Verzeichnisse gefunden (verwenden Sie '-C all', um die Überprüfung aller möglichen Verzeichnisse zu erzwingen)
Erlaubte HTTP-Methoden: GET, HEAD, POST, OPTIONS
Ungewöhnlicher Header 'x-ob_mode' gefunden, mit Inhalt: 1
OSVDB-3092: /manual/: Webserver-Handbuch gefunden.
OSVDB-3268: /manual/images/: Verzeichnisindizierung gefunden.
OSVDB-3233: /icons/README: Apache-Standarddatei gefunden.
/phpmyadmin/: phpMyAdmin-Verzeichnis gefunden
7596 Anfragen: 0 Fehler und 10 Einträge auf dem entfernten Host
Endzeit: 2016-08-22 06:54:44 (GMT8) (1291 Sekunden)
---------------------------------------------------------------------------
1 Host(s) getestet
Wie Sie sehen, richtet sich der obige Scan gegen die Standardkonfiguration von Apache 2.4, und es gibt viele Punkte, die beachtet werden müssen
Sie können meinen Apache Security & Hardening Guide zu Rate ziehen, um diese Probleme zu beheben
Verwendung von Nikto auf CentOS
- Melden Sie sich bei CentOS oder einem anderen Linux-basierten Betriebssystem an
- Laden Sie die neueste Version von Github mit wget herunter
wget https://github.com/sullo/nikto/archive/master.zip
- Extrahieren Sie mit dem Befehl unzip
unzip master.zip
- Es wird ein neuer Ordner namens “nikto-master” erstellt
- Gehen Sie innerhalb des Ordners nikto-master > program
cd nikto-master/programm
- Führen Sie
nikto.pl
mit der Zieldomäne aus
Nach der Installation führen Sie nikto aus und es sollte alles in Ordnung sein. Dieses Mal führe ich einen Scan gegen den Nginx-Webserver durch, um zu sehen, wie er funktioniert
./nikto.pl -h $IPADDRESSE
[root@lab program]# ./nikto.pl -h XX.XX.137.171
- Nikto v2.1.6
---------------------------------------------------------------------------
Ziel-IP: XX.XX.137.171
Ziel-Hostname: XX.XX.137.171
Ziel-Port: 80
Startzeit: 2020-06-07 07:39:40 (GMT0)
---------------------------------------------------------------------------
Server: nginx/1.14.1
Der Anti-Clickjacking-Header X-Frame-Options ist nicht vorhanden.
Der X-XSS-Protection-Header ist nicht definiert. Dieser Header kann dem Benutzer-Agenten Hinweise zum Schutz vor einigen Formen von XSS geben
Der X-Content-Type-Options-Header ist nicht gesetzt. Dies könnte es dem Benutzer-Agenten ermöglichen, den Inhalt der Website in einer vom MIME-Typ abweichenden Weise darzustellen
Keine CGI-Verzeichnisse gefunden (verwenden Sie '-C all', um die Überprüfung aller möglichen Verzeichnisse zu erzwingen)
/httpd.conf: Apache httpd.conf Konfigurationsdatei
/httpd.conf.bak: Apache httpd.conf Konfigurationsdatei
8075 Anfragen: 0 Fehler und 5 Einträge auf dem entfernten Host
Endzeit: 2020-06-07 07:39:50 (GMT0) (10 Sekunden)
---------------------------------------------------------------------------
1 Host(s) getestet
[root@lab program]#
Wie Sie also sehen können, ist die Standardkonfiguration von Nginx, der Webserver, ebenfalls anfällig und dieser Sicherheitsleitfaden wird Ihnen helfen, diese zu entschärfen
Fehlersuche
Unter CentOS kann der folgende Fehler auftreten. Wenn dies der Fall ist, können Sie ihn wie unten beschrieben beheben
ERROR -1
WARNUNG: Modul JSON::PP fehlt.
-Die
Funktionen Savedir und Replay können nicht verwendet werden
ODER
FEHLER: Erforderliches Modul nicht gefunden: Getopt::Long
ERROR: Erforderliches Modul nicht gefunden: Time::Local
ERROR: Erforderliches Modul nicht gefunden: Time::HiRes qw(sleep ualarm gettimeofday tv_interval)
Wenn Sie die obige Warnung erhalten, dann müssen Sie das Perl-Modul wie folgt installieren
# yum install perl-CPAN*
oder mit DNF, wenn Sie CentOS 8 verwenden
# dnf install perl-CPAN*
FEHLER – 2
perl: Warnung: Locale setzen fehlgeschlagen
Dazu müssen Sie das Gebietsschema auf dem Terminal exportieren, wie hier erklärt
export LC_CTYPE=de_US.UTF-8
export LC_ALL=de_US.UTF-8
FEHLER – 3
Bignum.pm kann nicht in @INC gefunden werden (möglicherweise müssen Sie das Modul bignum installieren)
Sie müssen das Perl-Modul bignum installieren
# yum install perl-bignum
oder verwenden Sie DNF, wenn CentOS 8
# dnf install perl-bignum
Fazit
Probieren Sie die Nikto-Software aus und wenn Sie mehr darüber erfahren möchten, sollten Sie sich diesen Kurs über Hacking und Penetrationstests ansehen.