Nikto: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
=Erklärung=
 
=Erklärung=
*Nikto Web Scanner ist ein Webserver-Scanner,
+
*Nikto ist ein Scanner für Webserver.
*Er testet  Webserver auf gefährliche Dateien/CGIs
+
*Er prüft auf gefährliche Dateien, CGI-Skripte und veraltete Serversoftware.
*Sowie veraltete Serversoftware und andere Probleme testet.  
+
*Auch Fehlkonfigurationen und weitere sicherheitsrelevante Probleme werden erkannt.
*Er führt auch generische und servertypspezifische Prüfungen durch.  
+
*Nikto führt generische und servertypspezifische Prüfungen durch.
*Außerdem erfasst und gibt alle empfangenen Cookies aus.
+
*Außerdem werden gesetzte Cookies protokolliert und ausgegeben.
  
 
=Installation=
 
=Installation=
Zeile 10: Zeile 10:
  
 
=Anwendung=
 
=Anwendung=
 +
==Ohne SSL==
 
*nikto -h opfer -p 80
 
*nikto -h opfer -p 80
<pre>
+
==Mit SSL==
- Nikto v2.1.6
+
*nikto --ssl -h opfer -p 443
---------------------------------------------------------------------------
 
+ Target IP:          10.0.10.104
 
+ Target Hostname:    opfer.secure.local
 
+ Target Port:        80
 
+ Start Time:        2021-08-04 15:35:03 (GMT2)
 
---------------------------------------------------------------------------
 
+ Server: Apache/2.4.7 (Ubuntu)
 
+ The anti-clickjacking X-Frame-Options header is not present.
 
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
 
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type
 
+ No CGI Directories found (use '-C all' to force check all possible dirs)
 
+ Apache/2.4.7 appears to be outdated (current is at least Apache/2.4.37). Apache 2.2.34 is the EOL for the 2.x branch.
 
+ Server may leak inodes via ETags, header found with file /, inode: 1d4, size: 5c81e4a62d19e, mtime: gzip
 
+ Cookie PHPSESSID created without the httponly flag
 
+ Retrieved x-powered-by header: PHP/5.5.9-1ubuntu4.29
 
+ Allowed HTTP Methods: GET, HEAD, POST, OPTIONS
 
+ /test.php: Output from the phpinfo() function was found.
 
+ /config.php: PHP Config file may contain database IDs and passwords.
 
+ OSVDB-3233: /test.php: PHP is installed, and a test script which runs phpinfo() was found. This gives a lot of system information.
 
+ OSVDB-3233: /icons/README: Apache default file found.
 
+ /login.php: Admin login page/section found.
 
+ OSVDB-3092: /test.php: This might be interesting...
 
+ 7863 requests: 0 error(s) and 14 item(s) reported on remote host
 
+ End Time:          2021-08-04 15:35:50 (GMT2) (47 seconds)
 
---------------------------------------------------------------------------
 
+ 1 host(s) tested
 
</pre>
 
  
 
=Weiteres=
 
=Weiteres=
*-h = target host
+
*-h = Zielhost
*-p = port
+
*-p = Zielport
*-l = List all available plugins
+
*-l = Alle verfügbaren Plugins auflisten
*-F = Format (z.B. HTML, TXT, XML)
+
*-F = Ausgabeformat (z. B. HTML, TXT, XML)
*-o = Write output to this file (z.B. webscan.html)
+
*-o = Ausgabedatei (z. B. webscan.html)
*-s = Force ssl mode on port
+
*-s = SSL-Modus auf beliebigem Port erzwingen
 
*nikto -h opfer.secure.local -p 80 -o opfer.html -F HTML
 
*nikto -h opfer.secure.local -p 80 -o opfer.html -F HTML
 +
 +
=Zusätzliche Optionen und Tipps=
 +
*nikto -h opfer.secure.local -Tuning 123b
 +
**Mit dem Parameter '''-Tuning''' lässt sich steuern, welche Testtypen ausgeführt werden sollen.
 +
**Beispiel: '''1''' = Dateien, '''2''' = Verzeichnisse, '''3''' = Standarddateien, '''b''' = Fehlerhafte Anfragen
 +
 +
*nikto -h opfer.secure.local -useragent "Mozilla/5.0"
 +
**Der User-Agent kann angepasst werden, um weniger aufzufallen oder als legitimer Browser erkannt zu werden.
 +
 +
*nikto -h opfer.secure.local -timeout 10
 +
**Setzt ein Timeout (z. B. bei langsamen Verbindungen oder IDS/IPS-Verhalten)
 +
 +
*nikto -h opfer.secure.local -useproxy http://127.0.0.1:8080
 +
**Nutzung eines Proxys, z. B. für BurpSuite oder anonymisierte Tests
 +
 +
=Anwendungsbeispiel für automatisierte Umgebung=
 +
*nikto -h opfer.secure.local -output opfer.xml -Format xml
 +
**Empfohlen für Weiterverarbeitung mit Tools wie [[Faraday]], [[Dradis]] oder Parsern
 +
**XML eignet sich für Skriptauswertung und SIEM-Integration
 +
 +
=Grenzen von Nikto=
 +
*Keine Exploits – nur passive Tests und Checks auf bekannte Probleme
 +
*Kein Login oder Session-Handling (kein Test von geschützten Bereichen)
 +
*Nicht für moderne Webanwendungen mit JavaScript-Logik geeignet
 +
*Kann von WAFs/IDS erkannt und blockiert werden
 +
 +
=Alternativen und Ergänzungen=
 +
*[[WhatWeb]] für Technologie-Erkennung
 +
*[[DirBuster]] für gezieltes Verzeichnis-Fuzzing
 +
*[[BurpSuite]] oder [[OWASP ZAP]] für interaktive Webanalyse und komplexe Angriffe
  
 
=Bericht in HTML Format=
 
=Bericht in HTML Format=
 
[[Datei:nikto-html.png]]
 
[[Datei:nikto-html.png]]
 +
=Bericht in XML Format=
 +
*[[Nikto xml für faraday]]

Aktuelle Version vom 5. April 2025, 08:24 Uhr

Erklärung

  • Nikto ist ein Scanner für Webserver.
  • Er prüft auf gefährliche Dateien, CGI-Skripte und veraltete Serversoftware.
  • Auch Fehlkonfigurationen und weitere sicherheitsrelevante Probleme werden erkannt.
  • Nikto führt generische und servertypspezifische Prüfungen durch.
  • Außerdem werden gesetzte Cookies protokolliert und ausgegeben.

Installation

  • apt install nikto

Anwendung

Ohne SSL

  • nikto -h opfer -p 80

Mit SSL

  • nikto --ssl -h opfer -p 443

Weiteres

  • -h = Zielhost
  • -p = Zielport
  • -l = Alle verfügbaren Plugins auflisten
  • -F = Ausgabeformat (z. B. HTML, TXT, XML)
  • -o = Ausgabedatei (z. B. webscan.html)
  • -s = SSL-Modus auf beliebigem Port erzwingen
  • nikto -h opfer.secure.local -p 80 -o opfer.html -F HTML

Zusätzliche Optionen und Tipps

  • nikto -h opfer.secure.local -Tuning 123b
    • Mit dem Parameter -Tuning lässt sich steuern, welche Testtypen ausgeführt werden sollen.
    • Beispiel: 1 = Dateien, 2 = Verzeichnisse, 3 = Standarddateien, b = Fehlerhafte Anfragen
  • nikto -h opfer.secure.local -useragent "Mozilla/5.0"
    • Der User-Agent kann angepasst werden, um weniger aufzufallen oder als legitimer Browser erkannt zu werden.
  • nikto -h opfer.secure.local -timeout 10
    • Setzt ein Timeout (z. B. bei langsamen Verbindungen oder IDS/IPS-Verhalten)
  • nikto -h opfer.secure.local -useproxy http://127.0.0.1:8080
    • Nutzung eines Proxys, z. B. für BurpSuite oder anonymisierte Tests

Anwendungsbeispiel für automatisierte Umgebung

  • nikto -h opfer.secure.local -output opfer.xml -Format xml
    • Empfohlen für Weiterverarbeitung mit Tools wie Faraday, Dradis oder Parsern
    • XML eignet sich für Skriptauswertung und SIEM-Integration

Grenzen von Nikto

  • Keine Exploits – nur passive Tests und Checks auf bekannte Probleme
  • Kein Login oder Session-Handling (kein Test von geschützten Bereichen)
  • Nicht für moderne Webanwendungen mit JavaScript-Logik geeignet
  • Kann von WAFs/IDS erkannt und blockiert werden

Alternativen und Ergänzungen

Bericht in HTML Format

Nikto-html.png

Bericht in XML Format