Nikto - Varnarleysi á vefforritum og CGI skanni fyrir vefþjóna


Nikto vefskanni er annað tól sem er gott að hafa fyrir vopnabúr hvers Linux stjórnenda. Þetta er opinn vefskanni sem gefinn er út undir GPL leyfinu, sem er notaður til að framkvæma ítarlegar prófanir á vefþjónum fyrir marga hluti, þar á meðal yfir 6500 mögulega hættulegar skrár/CGI.

Það er skrifað af Chris Solo og David Lodge fyrir varnarleysismat, það athugar gamaldags útgáfur yfir 1250 vefþjóna og yfir 270 útgáfusértæk vandamál. Það skannar einnig og tilkynnir um gamaldags vefþjónahugbúnað og viðbætur.

Eiginleikar Nikto Web Scanner

  1. Styður SSL
  2. Styður fullan HTTP proxy
  3. Styður texta, HTML, XML og CSV til að vista skýrslur.
  4. Skannaðu að mörgum höfnum
  5. Getur skannað á marga netþjóna með því að taka inntak úr skrám eins og nmap úttak
  6. Styðjið LibWhisker IDS
  7. Nógu hæfur til að bera kennsl á uppsettan hugbúnað með hausum, skrám og favicons
  8. Loggar fyrir Metasploits
  9. Skýrslur fyrir „óvenjulega“ hausa.
  10. Apache og cgiwrap notendatalning
  11. Auðkenningu gestgjafa með Basic og NTLM
  12. Hægt er að gera sjálfvirkt hlé á skönnunum á tilteknum tíma.

Nikto kröfur

Kerfi með grunn Perl, Perl Modules, OpenSSL uppsetningu ætti að gera Nikto kleift að keyra. Það hefur verið prófað ítarlega á Windows, Mac OSX og ýmsum Unix/Linux dreifingum eins og Red Hat, Debian, Ubuntu, BackTrack o.fl.

Uppsetning á Nikto Web Scanner á Linux

Flest Linux kerfi í dag eru með fyrirfram uppsettum Perl, Perl Modules og OpenSSL pakka. Ef það er ekki innifalið geturðu sett þau upp með því að nota sjálfgefna kerfispakkastjórnunarforritið sem kallast yum eða apt-get.

 yum install perl perl-Net-SSLeay openssl
 apt-get install perl openssl libnet-ssleay-perl

Næst skaltu klóna nýjustu stöðugu Nikto upprunaskrárnar úr Github geymslunni, fara í Nikto/programs/ möppuna og keyra hana með perl:

$ git clone https://github.com/sullo/nikto.git
$ cd nikto/programs
$ perl nikto.pl -h 
Option host requires an argument

       -config+            Use this config file
       -Display+           Turn on/off display outputs
       -dbcheck            check database and other key files for syntax errors
       -Format+            save file (-o) format
       -Help               Extended help information
       -host+              target host
       -id+                Host authentication to use, format is id:pass or id:pass:realm
       -list-plugins       List all available plugins
       -output+            Write output to this file
       -nossl              Disables using SSL
       -no404              Disables 404 checks
       -Plugins+           List of plugins to run (default: ALL)
       -port+              Port to use (default 80)
       -root+              Prepend root value to all requests, format is /directory
       -ssl                Force ssl mode on port
       -Tuning+            Scan tuning
       -timeout+           Timeout for requests (default 10 seconds)
       -update             Update databases and plugins from CIRT.net
       -Version            Print plugin and database versions
       -vhost+             Virtual host (for Host header)
   		+ requires a value

	Note: This is the short help output. Use -H for full help text.

„Valkostur gestgjafi krefst röksemda“ segir greinilega að við höfum ekki tekið inn nauðsynlegar færibreytur á meðan prófun var gerð. Þannig að við þurfum að bæta við nauðsynlegri grunnbreytu til að framkvæma prufukeyrslu.

Grunnskönnunin krefst hýsils sem þú vilt miða á, sjálfgefið skannar hann port 80 ef ekkert er tilgreint. Gestgjafinn getur annað hvort verið hýsingarheiti eða IP-tala kerfis. Þú getur tilgreint gestgjafa með því að nota \-h valkostinn.

Til dæmis vil ég skanna á IP 172.16.27.56 á TCP tengi 80.

 perl nikto.pl -h 172.16.27.56
- Nikto v2.1.5
---------------------------------------------------------------------------
+ Target IP:          172.16.27.56
+ Target Hostname:    example.com
+ Target Port:        80
+ Start Time:         2014-01-10 00:48:12 (GMT5.5)
---------------------------------------------------------------------------
+ Server: Apache/2.2.15 (CentOS)
+ Retrieved x-powered-by header: PHP/5.3.3
+ The anti-clickjacking X-Frame-Options header is not present.
+ Server leaks inodes via ETags, header found with file /robots.txt, inode: 5956160, size: 24, mtime: 0x4d4865a054e32
+ File/dir '/' in robots.txt returned a non-forbidden or redirect HTTP code (200)
+ "robots.txt" contains 1 entry which should be manually viewed.
+ Apache/2.2.15 appears to be outdated (current is at least Apache/2.2.22). Apache 1.3.42 (final release) and 2.0.64 are also current.
+ Multiple index files found: index.php, index.htm, index.html
+ DEBUG HTTP verb may show server debugging information. See http://msdn.microsoft.com/en-us/library/e8z01xdh%28VS.80%29.aspx for details.
+ OSVDB-877: HTTP TRACE method is active, suggesting the host is vulnerable to XST
+ OSVDB-3233: /phpinfo.php: Contains PHP configuration information
+ OSVDB-12184: /index.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000: PHP reveals potentially sensitive information via certain HTTP requests that contain specific QUERY strings.
+ OSVDB-3092: /test.html: This might be interesting...
+ OSVDB-3268: /icons/: Directory indexing found.
+ OSVDB-3233: /icons/README: Apache default file found.
+ /connect.php?path=http://cirt.net/rfiinc.txt?: Potential PHP MySQL database connection string found.
+ OSVDB-3092: /test.php: This might be interesting...
+ 6544 items checked: 0 error(s) and 16 item(s) reported on remote host
+ End Time:           2014-01-10 00:48:23 (GMT5.5) (11 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested

Ef þú vilt skanna á annað gáttarnúmer skaltu bæta við \-p [-port] valkostinum. Til dæmis vil ég skanna á IP 172.16.27.56 á TCP tengi 443.

 perl nikto.pl -h 172.16.27.56 -p 443
- Nikto v2.1.5
---------------------------------------------------------------------------
+ Target IP:          172.16.27.56
+ Target Hostname:    example.com
+ Target Port:        443
---------------------------------------------------------------------------
+ SSL Info:        Subject: /O=*.mid-day.com/OU=Domain Control Validated/CN=*.mid-day.com
                   Ciphers: DHE-RSA-AES256-GCM-SHA384
                   Issuer:  /C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./OU=http://certificates.starfieldtech.com/repository/CN=Starfield Secure Certification Authority/serialNumber=10688435
+ Start Time:         2014-01-10 01:08:26 (GMT5.5)
---------------------------------------------------------------------------
+ Server: Apache/2.2.15 (CentOS)
+ Server leaks inodes via ETags, header found with file /, inode: 2817021, size: 5, mtime: 0x4d5123482b2e9
+ The anti-clickjacking X-Frame-Options header is not present.
+ Apache/2.2.15 appears to be outdated (current is at least Apache/2.2.22). Apache 1.3.42 (final release) and 2.0.64 are also current.
+ Server is using a wildcard certificate: '*.mid-day.com'
+ Allowed HTTP Methods: GET, HEAD, POST, OPTIONS, TRACE
+ OSVDB-877: HTTP TRACE method is active, suggesting the host is vulnerable to XST
+ OSVDB-3268: /icons/: Directory indexing found.
+ OSVDB-3233: /icons/README: Apache default file found.
+ 6544 items checked: 0 error(s) and 8 item(s) reported on remote host
+ End Time:           2014-01-10 01:11:20 (GMT5.5) (174 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested

Þú getur líka tilgreint vélar, gáttir og samskiptareglur með því að nota fulla setningafræði vefslóða og það verður skannað.

 perl nikto.pl -h http://172.16.27.56:80

Þú getur líka skannað hvaða vefsíðu sem er. Til dæmis, hér gerði ég skanna á google.com.

 perl nikto.pl -h http://www.google.com
- Nikto v2.1.5
---------------------------------------------------------------------------
+ Target IP:          173.194.38.177
+ Target Hostname:    www.google.com
+ Target Port:        80
+ Start Time:         2014-01-10 01:13:36 (GMT5.5)
---------------------------------------------------------------------------
+ Server: gws
+ Cookie PREF created without the httponly flag
+ Cookie NID created without the httponly flag
+ Uncommon header 'x-frame-options' found, with contents: SAMEORIGIN
+ Uncommon header 'x-xss-protection' found, with contents: 1; mode=block
+ Uncommon header 'alternate-protocol' found, with contents: 80:quic
+ Root page / redirects to: http://www.google.co.in/?gws_rd=cr&ei=xIrOUomsCoXBrAee34DwCQ
+ Server banner has changed from 'gws' to 'sffe' which may suggest a WAF, load balancer or proxy is in place
+ Uncommon header 'x-content-type-options' found, with contents: nosniff
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ File/dir '/groups/' in robots.txt returned a non-forbidden or redirect HTTP code (302)
….

Ofangreind skipun mun framkvæma fullt af http beiðnum (þ.e. meira en 2000 próf) á vefþjóninum.

Þú getur líka framkvæmt skönnun á mörgum höfnum í sömu lotunni. Til að skanna margar gáttir á sama vélinni skaltu bæta við „-p“ [-port] valkostinum og tilgreina listann yfir höfnina. Hægt er að skilgreina höfn sem svið (þ.e. 80-443), eða sem aðskilin kommu (þ.e. 80.443). Til dæmis vil ég skanna port 80 og 443 á hýsil 172.16.27.56.

 perl nikto.pl -h 172.16.27.56 -p 80,443
- Nikto v2.1.5
---------------------------------------------------------------------------
+ No web server found on cmsstage.mid-day.com:88
---------------------------------------------------------------------------
+ Target IP:          172.16.27.56
+ Target Hostname:    example.com
+ Target Port:        80
+ Start Time:         2014-01-10 20:38:26 (GMT5.5)
---------------------------------------------------------------------------
+ Server: Apache/2.2.15 (CentOS)
+ Retrieved x-powered-by header: PHP/5.3.3
+ The anti-clickjacking X-Frame-Options header is not present.

---------------------------------------------------------------------------
+ Target IP:          172.16.27.56
+ Target Hostname:    example.com
+ Target Port:        443
---------------------------------------------------------------------------
+ SSL Info:        Subject: /O=*.mid-day.com/OU=Domain Control Validated/CN=*.mid-day.com
                   Ciphers: DHE-RSA-AES256-GCM-SHA384
                   Issuer:  /C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./OU=http://certificates.starfieldtech.com/repository/CN=Starfield Secure Certification Authority/serialNumber=10688435
+ Start Time:         2014-01-10 20:38:36 (GMT5.5)
---------------------------------------------------------------------------
+ Server: Apache/2.2.15 (CentOS)
+ All CGI directories 'found', use '-C none' to test none
+ Apache/2.2.15 appears to be outdated (current is at least Apache/2.2.22). Apache 1.3.42 (final release) and 2.0.64 are also current.
.....

Segjum að kerfi þar sem Nikto keyrir hafi aðeins aðgang að markhýslinum í gegnum HTTP umboð, samt er hægt að framkvæma prófið á tvo mismunandi vegu. Ein er að nota nikto.conf skrá og önnur leið er að keyra beint frá skipanalínunni.

Opnaðu nikto.conf skrána með hvaða skipanalínurit sem er.

 vi nikto.conf

Leitaðu að breytunni „PROXY“ og afskrifaðu „#“ frá upphafi línanna eins og sýnt er. Bættu síðan við proxy-hýsingunni, gáttinni, proxy-notandanum og lykilorðinu. Vistaðu og lokaðu skránni.

# Proxy settings -- still must be enabled by -useproxy
PROXYHOST=172.16.16.37
PROXYPORT=8080
PROXYUSER=pg
PROXYPASS=pg

Nú skaltu framkvæma Nikto með því að nota -useproxy valkostinn. Vinsamlegast athugaðu að allar tengingar verða sendar í gegnum HTTP proxy.

[email  nikto-2.1.5]# perl nikto.pl -h localhost -p 80 -useproxy
- Nikto v2.1.5
---------------------------------------------------------------------------
+ Target IP:          127.0.0.1
+ Target Hostname:    localhost
+ Target Port:        80
+ Start Time:         2014-01-10 21:28:29 (GMT5.5)
---------------------------------------------------------------------------
+ Server: squid/2.6.STABLE6
+ Retrieved via header: 1.0 netserv:8080 (squid/2.6.STABLE6)
+ The anti-clickjacking X-Frame-Options header is not present.
+ Uncommon header 'x-squid-error' found, with contents: ERR_CACHE_ACCESS_DENIED 0
+ Uncommon header 'x-cache-lookup' found, with contents: NONE from netserv:8080

Til að keyra Nikto beint frá skipanalínunni með því að nota -useproxy valkostinn með því að stilla umboðið sem rök.

[email  nikto-2.1.5]# perl nikto.pl -h localhost -useproxy http://172.16.16.37:8080/
- Nikto v2.1.5
---------------------------------------------------------------------------
+ Target IP:          127.0.0.1
+ Target Hostname:    localhost
+ Target Port:        80
+ Start Time:         2014-01-10 21:34:51 (GMT5.5)
---------------------------------------------------------------------------
+ Server: squid/2.6.STABLE6
+ Retrieved via header: 1.0 netserv:8080 (squid/2.6.STABLE6)
+ The anti-clickjacking X-Frame-Options header is not present.
+ Uncommon header 'x-squid-error' found, with contents: ERR_CACHE_ACCESS_DENIED 0
+ Uncommon header 'x-cache-lookup' found, with contents: NONE from netserv:8080

Þú getur uppfært Nikto sjálfkrafa í nýjustu viðbætur og gagnagrunna, einfaldlega keyrðu „-update“ skipunina.

 perl nikto.pl -update

Ef nýjar uppfærslur eru tiltækar muntu sjá lista yfir nýjar uppfærslur sem hlaðið er niður.

+ Retrieving 'nikto_report_csv.plugin'
+ Retrieving 'nikto_headers.plugin'
+ Retrieving 'nikto_cookies.plugin'
+ Retrieving 'db_tests'
+ Retrieving 'db_parked_strings'
+ Retrieving 'CHANGES.txt'
+ CIRT.net message: Please submit Nikto bugs to http://trac2.assembla.com/Nikto_2/report/2

Þú getur líka halað niður og uppfært Nikto viðbætur og gagnagrunna handvirkt frá http://cirt.net/nikto/UPDATES/.

Tilvísunartenglar

Heimasíða Nikto