Tips en Trucs 2010

Webserver scanner

Nikto is een Open Source (GPL) webserver scanner waarmee je een webserver kunt testen, waaronder tests op meer dan 6400 potentieel gevaarlijke bestanden/CGI's, verouderde versies van meer dan 1000 servers, versie specifieke problemen van meer dan 270 servers. Daarnaast wordt de configuratie van de server getest op onder andere meerdere index bestanden en HTTP server opties. Nikto probeert de geïnstalleerde webserver en software te identificeren. De te scannen onderdelen en plugins worden regelmatig aangepast en kunnen automatisch opgewaardeerd worden (updates).

Nikto is geen sluikse scanner. Het test een webserver zo snel mogelijk en het scannen is in de log-bestanden van de webserver duidelijk te herkennen. Mocht je toch sluiks willen scannen, dan kun je gebruik maken van de ondersteunde LibWhiskers anti-IDS methode (of om jouw Intrusion Detection Systeem te testen).

Niet elke controle is een beveiligingscontrole, de meeste echter wel. Enkele controles zijn van het 'informatieve' type en hebben geen beveiligingswaarde maar dienen enkel om de webmaster of de beheerder op de hoogte te brengen van de aanwezigheid van het gevonden onderdeel. Deze onderdelen worden dan ook als dusdanig in de informatie gemarkeerd.

In openSUSE 11.3 kun je het pakket nikto installeren via de website http://software.opensuse.org. Na de installatie kun je met de opdracht nikto zonder argumenten een overzicht van de argumenten opvragen. Een eenvoudige test start je met (bij onderstaande test heb ik een lokale webserver getest, webservers op het internet kun je testen door hun naam op te geven, vb: nikto -h www.webserver.snt) :

dany@linux-lno5:~> nikto -h 192.168.1.6
- Nikto v2.1.1
---------------------------------------------------------------------------
+ Target IP:          192.168.1.6
+ Target Hostname:    192.168.1.6
+ Target Port:        80
+ Start Time:         2010-10-22 17:32:42
---------------------------------------------------------------------------
+ Server: Apache/2.2.15 (Linux/SUSE)
+ ETag header found on server, inode: 8390, size: 110979, mtime: 0x48d7abef680bb
+ Allowed HTTP Methods: GET, HEAD, POST, OPTIONS, TRACE 
+ OSVDB-877: HTTP TRACE method is active, suggesting the host is vulnerable to XST
+ /cgi-bin/formmail: The remote CGI reveals its version number, which may aid attackers in finding vulnerabilities in the script.
+ /?mod=some_thing&op=browse: Sage 1.0b3 reveals system paths with invalid module names.
+ OSVDB-3092: /phpmyadmin/: phpMyAdmin is for managing MySQL databases, and should be protected or limited to authorized hosts.
+ OSVDB-3093: /webmail/src/read_body.php: This might be interesting... has been seen in web logs from an unknown scanner.            
+ OSVDB-3233: /info.php: PHP is installed, and a test script which runs phpinfo() was found. This gives a lot of system information. 
+ OSVDB-3268: /icons/: Directory indexing is enabled: /icons                                                                         
+ OSVDB-3761: /?pattern=/etc/*&sort=name: The TCLHttpd 3.4.2 server allows directory listings via dirlist.tcl.                       
+ OSVDB-3233: /icons/README: Apache default file found.                                                                              
+ 3818 items checked: 11 item(s) reported on remote host                                                                             
+ End Time:           2010-10-22 17:38:29 (347 seconds)                                                                              
---------------------------------------------------------------------------                                                          
+ 1 host(s) tested                                                                                                                   
                                                                                                                                     

   *********************************************************************
   Portions of the server's ident string (Apache/2.2.15) are not in
   the Nikto database or is newer than the known string. Would you like
   to submit this information (*no server specific data*) to CIRT.net
   for a Nikto update (or you may email to sullo@cirt.net) (y/n)?