In this Article we will see how to perform vulnerability scanning using Nikto.
Pre Requisites for performing Vulnerability Scanning :
- A computer running kali Linux(updated)
- An Internet connection
Always use Virtual Box (https://www.virtualbox.org/wiki/Downloads)when you are running more than one OS.
You know why I am saying this.
Nikto is an Open Source (GPL) web server scanner which performs comprehensive tests against web servers for multiple items, including over 6700 potentially dangerous files/programs, checks for outdated versions of over 1250 servers, and version specific problems on over 270 servers.
It also checks for server configuration items such as the presence of multiple index files, HTTP server options, and will attempt to identify installed web servers and software.
Scan items and plugins are frequently updated and can be automatically updated.
Nikto is not designed as a stealthy tool.
It will test a web server in the quickest time possible, and is obvious in log files or to an IPS/IDS.
However, there is support for LibWhisker’s anti-IDS methods in case you want to give it a try (or test your IDS system).
To run the Nikto we don’t need any hard resource using software’s, If our server installed with Perl it’s fine to run the nikto.
It’s available for every Operating systems such as Linux, Unix like RedHat, Centos, Debian, Ubuntu, Solaris, BackTrack, MacOSX.
Supports SSL, http proxy, Scan multiple ports on a server, Check for outdated server components etc.. We can get the output of result in following formats TXT, CSV, HTML, XML.
Here are some of the major features of Nikto.
See the documentation for a full list of features and how to use them.
- SSL Support (Unix with OpenSSL or maybe Windows with ActiveState’s
- Full HTTP proxy support
- Checks for outdated server components
- Save reports in plain text, XML, HTML, NBE or CSV
- Template engine to easily customize reports
- Scan multiple ports on a server, or multiple servers via input file (including nmap output)
- LibWhisker’s IDS encoding techniques
- Easily updated via command line
- Identifies installed software via headers, favicons and files
- Host authentication with Basic and NTLM
- Subdomain guessing
- Apache and cgiwrap username enumeration
- Mutation techniques to “fish” for content on web servers
- Scan tuning to include or exclude entire classes of vulnerability
- Guess credentials for authorization realms (including many default id/pw combos)
- Authorization guessing handles any directory, not just the root
- Enhanced false positive reduction via multiple methods: headers,
- page content, and content hashing
- Reports “unusual” headers seen
- Interactive status, pause and changes to verbosity settings
- Save full request/response for positive tests
- Replay saved positive requests
- Maximum execution time per target
- Auto-pause at a specified time
STEP 1 : Run Kali Linux on VM and go to Vulnerability Analysis > Nikto
This is further demonstrated in the screenshot below.
STEP 2 : Let us start with a website. Scan for the Vulnerabilities by typing
Nikto –h www.webscantest.com
We can see below a lot of information leaked by Nikto.
There are various other commands for Nikto as you can see but we will limit ourselves to
Nikto –h <IP name or address>
It reveals the server and the OS of the target website. That is a hell lot of information. It is not necessary that everytime you will get all this. Be patient.
STEP 3 : Now let us take another website and doing the exact same thing what we got is
Now as we can see that XSS protection is not there and many other flaws we can see throughout the snapshots. So there are different kinds of attack you can do in order to steal information like DOM based XSS and much more.
STEP 4 : We can also test for the other websites. Let us take
Nikto –h www.facebook.com
As we can see above that it does not give any information about the website. This is because the website is highly protected. We all wish that we could hack into some of our friend’s account and gain access but let me tell you it is not that much easy. As you can imagine, if Facebook weren’t secure, every script-kiddie on the planet would be hacking it to see who his true love is chatting with online.
Nikto is one of my favourite tools for finding website vulnerability. You just have to be patient and try using different syntax if the previous one is not working.
STEP 5 : If you need to know more about a specific vulnerability then you should go to www.osvdb.org
That’s all for now. Stay tuned for the next post.