no one is safe ...

Nikto Integration in das Metasploit Framework

Metasploit an sich bringt bisher nur sehr grundlegende Möglichkeiten zur Überprüfung von Webapplikationen mit sich. Aus diesem Grunde ist es naheliegend für Sicherheitsüberprüfungen von Webservern und Webapplikationen weitere Tools einzusetzen.


Kommt es zum Einsatz externer Tools ergeben sich weitere Daten- bzw. Dokumentationsbestände und die zentrale Anlaufstelle die Metasploit mit der msfconsole und deren Datenbanksupport bietet, geht verloren. Nikto bietet seit Version 2.1.3 die Möglichkeit über den RPC Service die erkannten Schwachstellen und Informationen an Metasploit weiterzugeben. Diese Möglichkeit schafft eine einheitliche Logging Funktionalität und ermöglicht später eine zentrale Auswertung über die Metasploit Datenbank.

root@bt:~# cd /opt/metasploit35-dev/msf3/
root@bt:/opt/metasploit35-dev/msf3# ./msfconsole

                __.                       .__.        .__. __.
  _____   _____/  |______    ____________ |  |   ____ |__|/  |_
/     \_/ __ \   __\__  \  /  ___/\____ \|  |  /  _ \|  \   __\
|  Y Y  \  ___/|  |  / __ \_\___ \ |  |_> >  |_(  <_> )  ||  |
|__|_|  /\___  >__| (____  /____  >|   __/|____/\____/|__||__|
      \/     \/          \/     \/ |__|


       =[ metasploit v3.5.1-dev [core:3.5 api:1.0]
+ -- --=[ 322 exploits - 99 auxiliary
+ -- --=[ 217 payloads - 20 encoders - 6 nops
       =[ svn r11149 updated today (2010.11.25)

msf > version
Framework: 3.5.1-dev.11003
Console  : 3.5.1-dev.11003
msf > load xmlrpc ServerType=Web
[*] XMLRPC Service:  127.0.0.1:55553
[*] XMLRPC Username: msf
[*] XMLRPC Password: HlwLdvKY
[*] XMLRPC Server Type: Web
[*] XMLRPC Web URI: /RPC2
[*] Successfully loaded plugin: xmlrpc
msf > db_driver sqlite3
[*] Using database driver sqlite3
msf > db_connect test-nikto
[-] Note that sqlite is not supported due to numerous issues.
[-] It may work, but don't count on it
[*] Successfully connected to the database
[*] File: test-nikto

Wurde die Testdatenbank erstellt und der RPC Service gestartet sollte dies mit netstat verifiziert werden:

root@bt:~/msf-installers/nikto-2.1.3# netstat -anpt | grep 55553
tcp        0      0 127.0.0.1:55553         0.0.0.0:*               LISTEN      21223/ruby

Sobald alles funktionsfähig ist, lässt sich Nikto folgenderweise einsetzen. Wichtig sind die Optionen -Format msf und die Zusatzoptionen -o msf:HlwLdvKY@http://localhost:55553/RPC2, die den RPC Service angeben:

root@bt:~/msf-installers/nikto-2.1.3# ./nikto.pl -Format msf -o msf:HlwLdvKY@http://localhost:55553/RPC2 -h demo.testfire.net
- Nikto v2.1.3
---------------------------------------------------------------------------
+ Target IP:          65.61.137.117
+ Target Hostname:    demo.testfire.net
+ Target Port:        80
+ Start Time:         2010-11-27 10:06:49
---------------------------------------------------------------------------
+ Server: Microsoft-IIS/6.0
+ Retrieved x-powered-by header: ASP.NET
+ Retrieved x-aspnet-version header: 2.0.50727
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ OSVDB-630: IIS may reveal its internal or real IP in the Location header via a request to the /images directory. The value is "http://192.168.1.120/images/".
+ Microsoft-IIS/6.0 appears to be outdated (4.0 for NT 4, 5.0 for Win2k, current is at least 7.5)
+ Allowed HTTP Methods: OPTIONS, TRACE, GET, HEAD, POST
+ Public HTTP Methods: OPTIONS, TRACE, GET, HEAD, POST
+ OSVDB-3092: /bank/: This might be interesting...
+ OSVDB-3092: /pr/: This might be interesting... potential country code (Puerto Rico)

Im Anschluss an den durchgeführten Audit ist es in der msfconsole mit folgenden Datenbankbefehlen db_vulns, db_notes und db_hosts die gesammelten Informationen abzufragen:

msf > db_notes
[*] Time: Fri Nov 26 09:06:51 UTC 2010 Note: host=65.61.137.117service=microsoft-iis/6.0 type=nikto.999986 data={"result"=>"", "uri"=>"/ofQywa1R.aspx", "method"=>"GET", "message"=>"Retrieved x-aspnet-version header: 2.0.50727"}
[*] Time: Fri Nov 26 09:07:38 UTC 2010 Note: host=65.61.137.117service=microsoft-iis/6.0 type=nikto.600376 data={"result"=>"", "uri"=>"/", "method"=>"HEAD", "messa-ge"=>"Microsoft-IIS/6.0 appears to be outdated (4.0 for NT 4, 5.0 for Win2k, current is at least 7.5)"}
[*] Time: Fri Nov 26 09:07:39 UTC 2010 Note: host=65.61.137.117service=microsoft-iis/6.0 type=nikto.999990 data={"result"=>"", "uri"=>"/", "method"=>"GET", "messa-ge"=>"Allowed HTTP Methods: OPTIONS, TRACE, GET, HEAD, POST "}
[*] Time: Fri Nov 26 09:07:39 UTC 2010 Note: host=65.61.137.117service=microsoft-iis/6.0 type=nikto.999985 data={"result"=>"", "uri"=>"/", "method"=>"GET", "messa-ge"=>"Public HTTP Methods: OPTIONS, TRACE, GET, HEAD, POST "}
<snip>

have phun ;)

Comments

Nice shit!

Cool... Danke für die Info! ;)

Nikto != Websicherheit

Nikto testet die Serverkonfiguration und hat nicht wirklich was mit Webapplikationssicherrheit zu tun.

String.fromCharCode(88,83,83)