NIKTO - Eine Webanwendungsanfälligkeit und ein CGI -Scanner für Webserver

NIKTO - Eine Webanwendungsanfälligkeit und ein CGI -Scanner für Webserver

NIKTO Web Scanner ist ein weiteres Gut, um das Werkzeug für das Arsenal eines Linux -Administrators zu haben. Es handelt sich um einen Open -Source -Webscanner, der unter der GPL -Lizenz veröffentlicht wurde und zur Durchführung umfassender Tests auf Webservern für mehrere Elemente einschließlich Over verwendet wird 6500 potenziell gefährlich Dateien/CGIS.

Vorgeschlagene Lesen: WPSEKU - Ein Schwachstellenscanner, um Sicherheitsprobleme in WordPress zu finden

Es ist geschrieben von Chris Solo Und David Lodge für Verletzlichkeit Bewertung überprüft es über veraltete Versionen über 1250 Webserver und vorbei 270 Versionspezifische Probleme. Es scannt und berichtet auch für veraltete Webserver -Software und Plugins.

Funktionen des Nikto Web Scanners

  1. Unterstützt SSL
  2. Unterstützt den vollständigen HTTP -Proxy
  3. Unterstützt Text, HTML, XML und CSV, um Berichte zu speichern.
  4. Scannen Sie nach mehreren Ports
  5. Können auf mehreren Servern scannen, indem Sie Eingaben von Dateien wie NMAP -Ausgabe nehmen
  6. Unterstützen Sie libwhisker -IDs
  7. Fähig genug, um installierte Software mit Headern, Dateien und Favicons zu identifizieren
  8. Protokolle für Metasploits
  9. Berichte für „ungewöhnliche“ Header.
  10. Apache und CGIWRAP -Benutzerumzählung
  11. Authentifizieren Hosts mit Basic und NTLM
  12. Scans können zu einem bestimmten Zeitpunkt automatisch verfolgt werden.

Niko -Anforderungen

Ein System mit Basic Perl, Perl -Module, OpenSSL Die Installation sollte aktiviert werden Nikto laufen. Es wurde gründlich getestet Fenster, Mac OS X und verschiedene Unix/Linux Verteilungen wie roter Hut, Debian, Ubuntu, Backtrack, usw.

Installation von Niko Web Scanner unter Linux

Die meisten der heutigen Linux-Systeme sind vorinstalliert Perl, Perl -Module, Und OpenSSL Pakete. Wenn Sie nicht enthalten sind, können Sie sie über das Dienstprogramm "Standard -Systempaketmanager" installieren Yum oder apt-get.

Auf Red Hat/Centos/Fedora
[[E-Mail geschützt]]# yum install Perl Perl-Net-SSLEAY OpenSSL
Auf Debian/Ubuntu/Linux Mint
[[E-Mail geschützt]]# APT-GET-Installation Perl OpenSSL libnet-SSLEAY-PERL

Als nächstes klonen Sie den neuesten Stall Nikto Quellendateien aus seinem Github -Repository finden Sie in Nikto/programme/ Verzeichnis und führen Sie es mit Perl aus:

$ git klone https: // github.com/sullo/nikto.git $ cd nikto/programm $ perl nikto.pl -h 
Probenausgabe
Option Host erfordert ein Argument -config+ Verwenden Sie diese Konfigurationsdatei -display+ Einschalten/Aus -Display -Ausgänge -dbcheck -Überprüfungsdatenbank und andere Schlüsseldateien für Syntaxfehler -format+ Datei (-O) Format -Help Extended Hilfe Information -host+ Zielhost -ID+ Zu verwendende Host -Authentifizierung, Format ist ID: Pass oder ID: Pass: Realm -List -Plugins -Liste Alle verfügbaren Plugins -output+ Schreibausgabe in diese Datei -Nosssl -Deaktivierung mithilfe von SSL -NO404 Deaktiviert 404 -Überprüfungen -Plugins+ Liste der Plugins, die ausgeführt werden (Standard : Alle) -port+ port, um zu verwenden (Standard 80) -Root+ den Stammwert für alle Anforderungen vorbereiten, das Format ist /Verzeichnis -sl -Kraft -SSL -Modus im Port -Tuning+ Scan -Tuning -Timeout+ Timeout für Anforderungen (Standard 10 Sekunden) -Update -Update -Datenbanken und Plugins von CIRT.NET -Version Print -Plugin- und Datenbankversionen -Vhost + Virtual Host (für Host -Header) + Erfordert einen Wert. HINWEIS: Dies ist die kurze Hilfeausgabe. Verwenden Sie -h für den vollständigen Hilfe Text. 

Der "Optionshost erfordert ein Argument”Ist eindeutig aussagekräftig, dass wir die erforderlichen Parameter bei einem Test nicht aufgenommen haben. Wir müssen also einen grundlegenden erforderlichen Parameter hinzufügen, um einen Testlauf durchzuführen.

Grundtests

Für den Basis -Scan ist ein Host erforderlich 80 Wenn nichts angegeben ist. Der Gastgeber kann entweder ein sein Hostname oder an IP Adresse eines Systems. Sie können einen Host mit “angeben“-H" Möglichkeit.

Zum Beispiel möchte ich einen Scan auf einer IP durchführen 172.16.27.56 auf TCP -Port 80.

[[E-Mail geschützt] Niko-2.1.5]# perl nikto.PL -H 172.16.27.56
Probenausgabe
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Ziel IP: 172.16.27.56 + Ziel Hostname: Beispiel.Com + Zielport: 80 + Startzeit: 2014-01-10 00:48:12 (GMT5.5) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------- + Server: Apache/2.2.15 (CentOS) + Abgerufene X-Börsen-von-by-Header: PHP/5.3.3 + Der Anti-Clickjacking X-Frame-Options-Header ist nicht vorhanden. + Server leckt Inodes über ETAGs, Header mit Datei /Robotern gefunden.TXT, Inode: 5956160, Größe: 24, Mtime: 0x4d4865a054e32 + Datei/Dir '/' in Robotern.TXT gab einen nichtweiligen oder umgeleiteten HTTP-Code (200) + "Roboter zurück.txt "enthält 1 Eintrag, der manuell angezeigt werden sollte. + Apache/2.2.15 scheint veraltet zu sein (Strom ist mindestens Apache/2.2.22). Apache 1.3.42 (endgültige Veröffentlichung) und 2.0.64 sind auch aktuell. + Mehrere Indexdateien gefunden: Index.PHP, Index.HTM, Index.HTML + DEBUG HTTP -Verb kann Server -Debugging -Informationen anzeigen. Siehe http: // msdn.Microsoft.com/en-us/bibliothek/e8z01xdh%28 Vs.80%29.ASPX für Details. + OSVDB-877: Die HTTP-Trace-Methode ist aktiv, was darauf hindeutet, dass der Host für XST + OSVDB-3233: /Phpinfo anfällig ist.PHP: Enthält PHP-Konfigurationsinformationen + OSVDB-12184: /Index.Php?= Phpb8b5f2a0-3c92-11d3-a3a9-4c7b08c10000: PHP zeigt potenziell sensible Informationen über bestimmte HTTP. + OSVDB-3092: /Test.HTML: Dies könnte interessant sein… + OSVDB-3268: /Icons /: Verzeichnisindizierung gefunden. + OSVDB-3233: /Icons /Readme: Apache-Standarddatei gefunden. + /verbinden.Php?Path = http: // cirt.net/rfiinc.txt?: Potential PHP MySQL -Datenbankverbindungszeichenfolge gefunden. + OSVDB-3092: /Test.PHP: Dies könnte interessant sein… + 6544 Elemente überprüft: 0 Fehler (en) und 16 Elemente, die auf Remote-Host + Endzeit gemeldet wurden: 2014-01-10 00:48:23 (GMT5.5) (11 Sekunden) ---------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------- + 1 Host (en) getestet

Wenn Sie eine andere Portnummer scannen möchten, fügen Sie hinzu “-P”[-Hafen] Möglichkeit. Zum Beispiel möchte ich einen Scan auf IP durchführen 172.16.27.56 auf TCP -Port 443.

[[E-Mail geschützt] Niko-2.1.5]# perl nikto.PL -H 172.16.27.56 -p 443
Probenausgabe
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Ziel IP: 172.16.27.56 + Ziel Hostname: Beispiel.com + Zielport: 443 ------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------- + SSL Info: Betreff: /o =*.Mittag.com/ou = Domänenkontrolle validiert/cn =*.Mittag.Com-Chiffren: Dhe-RSA-AES256-GCM-SHA384 Emittent:/C = US/ST = Arizona/L = Scottsdale/O = Starbield Technologies, Inc./Ou = http: // Zertifikate.Starfieldtech.com/repository/cn = starfield Secure Certification Authority/SerialNumber = 10688435 + Startzeit: 2014-01-10 01:08:26 (GMT5.5) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------- + Server: Apache/2.2.15 (CentOS) + Server Leaks Inodes über Etags, Header mit Datei /, Inode: 2817021, Größe: 5, Mtime: 0x4d5123482b2e9 + Das Anti-Clickjacking X-Frame-Options-Header ist nicht vorhanden. + Apache/2.2.15 scheint veraltet zu sein (Strom ist mindestens Apache/2.2.22). Apache 1.3.42 (endgültige Veröffentlichung) und 2.0.64 sind auch aktuell. + Der Server verwendet ein Wildcard -Zertifikat: '*.Mittag.com ' + erlaubte HTTP-Methoden: Get, Head, Post, Optionen, Trace + OSVDB-877: Die HTTP-Trace-Methode ist aktiv und schlägt vor, dass der Host für XST + OSVDB-3268: /ICONS /: Verzeichnisindizierung gefunden ist. + OSVDB-3233: /Icons /Readme: Apache-Standarddatei gefunden. + 6544 Artikel überprüft: 0 Fehler (en) und 8 Elemente (en) über Remote-Host + Endzeit: 2014-01-10 01:11:20 (GMT5.5) (174 Sekunden) ---------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------- + 1 Host (en) getestet

Sie können auch angeben Gastgeber, Häfen Und Protokolle mit einem vollen URL Syntax, und es wird gescannt.

[[E-Mail geschützt] Niko-2.1.5]# perl nikto.pl -h http: // 172.16.27.56:80

Sie können auch jede Website scannen. Zum Beispiel habe ich hier einen Scan durchgeführt Google.com.

[[E-Mail geschützt] Niko-2.1.5]# perl nikto.pl -h http: // www.Google.com
Probenausgabe
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Ziel IP: 173.194.38.177 + Ziel Hostname: www.Google.Com + Zielport: 80 + Startzeit: 2014-01-10 01:13:36 (GMT5.5) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------- + Server: GWS + Cookie Pref ohne das Httponly Flag + Cookie NID, das ohne das Httponly Flag + Uncommon Header erstellt wurde "X-Frame-Options" gefunden, mit Inhalten: Sameorigin + Uncommon Header "X-XSS-Protection" gefunden, mit Inhalt: 1; modus = block + ungewöhnlicher Header 'Alternate-Protocol' gefunden, mit Inhalt: 80: Quic + Root-Seite/Umleitungen zu: http: // www.Google.CO.In/?gws_rd = cr & ei = xirouomsCoxBraee34dwcq + Server Banner hat sich von 'GWS' zu 'sffe' geändert, was darauf hindeutet, dass ein WAF, Lastausgleich oder Proxy vorhanden ist + ungewöhnliche Header 'X-Content-Type-Optionen' gefunden, mit Inhalten: Nosniff + -Stype-Typen: Nosniff + -Entyp-Typ. Keine CGI-Verzeichnisse gefunden (verwenden Sie "-C alle", um alle möglichen Dirs zu erzwingen) + Datei/Dire '/Gruppen/' in Robotern.TXT gab einen nicht-Forbidden- oder Umleitungs-HTTP-Code (302) zurück… .

Der obige Befehl führt eine Reihe von HTTP -Anfragen aus (i.e. mehr als 2000 Tests) auf dem Webserver.

Mehrere Porttests

Sie können auch mehrere Ports in derselben Sitzung durchführen. Um mehrere Ports auf demselben Host zu scannen, fügen Sie hinzu "-P”[-Hafen] Option und geben Sie die Liste der Ports an. Ports können als Bereich definiert werden (i.e., 80-443) oder als Komma getrennt (i.e., 80.443). Zum Beispiel möchte ich eine Ports scannen 80 Und 443 Auf dem Gastgeber 172.16.27.56.

[[E-Mail geschützt] Niko-2.1.5]# perl nikto.PL -H 172.16.27.56 -p 80.443
Probenausgabe
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Kein Webserver auf CMSStage gefunden.Mittag.com: 88 ------------------------------------------- ---------------------------- + Ziel IP: 172.16.27.56 + Ziel Hostname: Beispiel.Com + Zielport: 80 + Startzeit: 2014-01-10 20:38:26 (GMT5.5) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------- + Server: Apache/2.2.15 (CentOS) + Abgerufene X-Börsen-von-by-Header: PHP/5.3.3 + Der Anti-Clickjacking X-Frame-Options-Header ist nicht vorhanden. --------------------------------------------------------------------------- + Ziel IP: 172.16.27.56 + Ziel Hostname: Beispiel.com + Zielport: 443 ------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------- + SSL Info: Betreff: /o =*.Mittag.com/ou = Domänenkontrolle validiert/cn =*.Mittag.Com-Chiffren: Dhe-RSA-AES256-GCM-SHA384 Emittent:/C = US/ST = Arizona/L = Scottsdale/O = Starbield Technologies, Inc./Ou = http: // Zertifikate.Starfieldtech.com/repository/cn = starfield Secure Certification Authority/SerialNumber = 10688435 + Startzeit: 2014-01-10 20:38:36 (GMT5.5) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------- + Server: Apache/2.2.15 (CentOS) + Alle CGI-Verzeichnisse "gefunden", verwenden Sie "-c keine", um keine + apache/2 zu testen.2.15 scheint veraltet zu sein (Strom ist mindestens Apache/2.2.22). Apache 1.3.42 (endgültige Veröffentlichung) und 2.0.64 sind auch aktuell… 

Mit einem Proxy

Sagen wir ein System, wo Nikto läuft nur über einen Zugriff auf den Zielhost Http Proxy, der Test kann weiterhin auf zwei verschiedenen Arten durchgeführt werden. Man benutzt Nikto.Conf Datei und eine andere Möglichkeit besteht darin, direkt aus dem zu laufen Befehlszeile.

Mit Niko.Conf -Datei

Offen Nikto.Conf Datei mit einem beliebigen Befehlszeilen -Editor.

[[E-Mail geschützt] Niko-2.1.5]# vi nikto.Conf

Suche nach der Variablen “ProxyUnd das 'die'#'Ab dem Beginn der Zeilen wie gezeigt. Dann fügen Sie die hinzu Proxy-Host, Hafen, Proxy -Benutzer Und Passwort. Speichern und schließen Sie die Datei.

# Proxy -Einstellungen -müssen noch durch -UseProxy Proxyhost = 172 aktiviert werden.16.16.37 proxyport = 8080 proxyuser = pg proxypass = pg

Führen Sie nun die aus Nikto benutzen "-UseProxy" Möglichkeit. Bitte beachten Sie, dass alle Verbindungen über die weitergeleitet werden Http Proxy.

[E-Mail geschützt] nikto-2.1.5]# perl nikto.PL -H LOCALHOST -P 80 -USEPROXY
Probenausgabe
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Ziel IP: 127.0.0.1 + Ziel Hostname: localhost + Zielport: 80 + Startzeit: 2014-01-10 21:28:29 (GMT5.5) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------- + Server: Tintenfisch/2.6.Stable6 + über Header abgerufen: 1.0 NetServ: 8080 (Tintenfisch/2.6.Stable6) + Der Anti-Clickjacking X-Frame-Options-Header ist nicht vorhanden. + Uncommon Header 'X-Squid-Fehler' gefunden, mit Inhalten: Err_cache_access_Denied 0 + ungewöhnliche Header 'X-Cache-Lookup' gefunden, mit Inhalt: Keine von NetServ: 8080
Verwenden Sie die Befehlszeile

Um die zu laufen Nikto direkt aus der Befehlszeile mit der “-UseProxyOption, indem der Proxy als Argument festgelegt wird.

[E-Mail geschützt] nikto-2.1.5]# perl nikto.PL -H LOCALHOST -USEPROXY http: // 172.16.16.37: 8080/
Probenausgabe
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Ziel IP: 127.0.0.1 + Ziel Hostname: Localhost + Zielport: 80 + Startzeit: 2014-01-10 21:34:51 (GMT5.5) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------- + Server: Tintenfisch/2.6.Stable6 + über Header abgerufen: 1.0 NetServ: 8080 (Tintenfisch/2.6.Stable6) + Der Anti-Clickjacking X-Frame-Options-Header ist nicht vorhanden. + Uncommon Header 'X-Squid-Fehler' gefunden, mit Inhalten: Err_cache_access_Denied 0 + ungewöhnliche Header 'X-Cache-Lookup' gefunden, mit Inhalt: Keine von NetServ: 8080

Aktualisieren von Niko

Sie können aktualisieren Nikto zu den neuesten Plugins Und Datenbanken Automatisch einfach die “ausführen“-aktualisieren" Befehl.

[[E-Mail geschützt] Niko-2.1.5]# perl nikto.pl -update

Wenn neue Updates verfügbar sind, sehen Sie eine Liste der heruntergeladenen neuen Updates.

+ Abrufen von 'niko_report_csv.Plugin ' + abrufen' nikto_Headers.Plugin ' + abrufen' nikto_cookies.Plugin ' + Abrufen' db_tests ' + abrufen' db_parked_strings ' + abrufen' Änderungen.txt ' + cirt.NET -Nachricht: Bitte senden Sie Niko -Fehler an http: // tRAC2.Assembla.com/nikto_2/report/2

Sie können Niko -Plugins und Datenbanken auch manuell herunterladen und aktualisieren.net/nikto/updates/.

Referenzlinks

Niko Homepage