Getting started with Nikto vulnerability scanner

29/12/2020
Chưa phân loại
In the past we learned how to use Nmap, Nessus and OpenVAS to look for vulnerabilities. This time we’ll explore Nikto, a vulnerabilities scanner written in Perl,  to check for Web Application vulnerabilities and footprinting (getting useful information about the target).

Installing Nikto:

In this case I’m using a Debian system, you can download Nikto for Debian at https://packages.debian.org/jessie/all/nikto/download . In case your system returns dependency errors  when executing “dpkg -i <packagename>” (as explained at https://linuxhint.com/uninstall-debian-packages/) execute the command “apt –fix-broken install” and you’ll get it installed.

Getting started with Nikto:

Like with any Linux package you can always throw a “man nikto” to learn all parameters. The first parameter we’ll use, and which is mandatory, is -host (or -h)to specify the target. In this case I decided to use as target a very old unmaintained website which may throw interesting results:

As with any scanner we receive basic information useful in a footprinting process but additionally we can see within the first results Nikto already discovered a possible vulnerability exposing the website to Clickjacking attacks.

After seeing Nikto’s recommendation to add the “-C all” parameter, I stopped the scanning, you can restart including -C all.

CGI (Common Gateway Interface) is a way through which Web Servers interact with software or programs installed on the server.

In this case we weren’t lucky but as shown above, Nikto successfully found a possible vulnerability despite the website has not CGI content, take in consideration vulnerabilities may be false positive therefore not exploitable.

Let’s check a different target, www.telered.com.ar , an Internet provider website:

The website has no redirection to www so I launched the scan again.

You can see they are using an old Apache version under CentOS and several possible vulnerabilities like OSVDB-877, OSVDB-3092, OSVDB-3268, OSVDB-3233, in the past we could search in the http://www.osvdb.org database but it is offline now, therefore we’ll need to base the vulnerability on the information Nikto provides or to google it, in this case we would google Cross Site Tracing attacks.

Let’s combine Nikto with Nmap, so we can see what ports a Webserver has open before using Nikto, ill throw a basic Nmap scan against the same target to check if it has additional ports open.


The interesting here may be the port 5060 used for VOIP, the port seems associated with known vulnerabilities according to this source, through Nikto it is unlikely to give important results but let’s try it.

Where

-p =  specifies the port.

-h = specifies the host

-useproxy = to scan using a proxy and avoid the target to see our IP.

In contrast with the scan we launched before now Nikto found a XML file linking us to a blog article explaining the vulnerability the file may represent. It is recommendable to run Nmap against a target before using Nikto to target open ports.

It is important to highlight Nikto results will differ according to the parameters and data we use, even against the same target, for example, if you use the target’s domain name or the target’s IP or change the port. Let’s see if we can find a third different result on the same target:

The result is very similar in this case, despite more errors were reported (21 vs 18 the first scan), possibly due redirection issues.

Multiple port scanning with Nikto:

If we run Nmap to discover a site has multiple ports open we can scan all them in a single Nikto session by separating ports with coma as shown below:

I run:

nmap proz.com
nikto -h proz.com -p 80,111,443,5666

As you see after getting all open ports by Nmap I threw a Nikto scan, it automatically discards ports which are not running web applications. By adding all ports Nikto discovered multiple vulnerabilities including very sensitive directories holding possible credentials, SQL Injection and XSS vulnerabilities, brute force possibilities among a lot more of opportunities to exploit the server.

To reproduce Nikto results with complete results just run:

"nikto -h proz.com -p 80,111,443,5666"

Using Nikto plugins:

Nikto  -list-plugins” will display a list of additional plugins which may help to scan a target or confirm a vulnerability reported by Nikto.

Let’s verify if the results above showing XSS vulnerabilities are not a false positive.
Run:

nikto -h proz.com -Plugins "apache_expect_xss(verbose,debug)"

 

As we see in this case Nikto informs “‘message’ => ‘Expectation Failed” discarding the XSS vulnerability, if it was your server you could use different plugins to discard or confirm the rest of vulnerabilities.

Conclusion:

Nikto is a very light vulnerabilities scanner for web servers, it is useful if you have no time to deal with heavy scanners like Nexpose or Nessus, despite this, if you have time to analyze your target I would recommend a more complete scanner like Nexpose, Nessus, OpenVAS or Nmap, some of which we already analyzed at LinuxHint simply because they are not limited to web servers and all aspects deserve to be deeply checked in order to protect a server.

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

How to compare strings in Bash

For different programming purposes, we need to compare the value of two strings. Built-in functions are used in many programming...
28/12/2020

How to List Users on CentOS 7

Linux based operating systems such CentOS are designed to work with mass number of users at the same time. If you’ve...
29/12/2020

Install Slack on Ubuntu

In today’s world, keeping a good collaboration with your team members is quite important. A good team collaboration yields...
29/12/2020
Bài Viết

Bài Viết Mới Cập Nhật

mua Proxy riêng ở đâu, và nó đem lại lợi ích gì cho người sử dụng
22/11/2022

Hướng dẫn sử dụng Proxy Helper Fakeip khi thuê proxy
21/11/2022

PROXY NUÔI TÀI KHOẢN FACEBOOK – KINH NGHIỆM FAKE IP – THUÊ PROXY GIÁ RẺ
14/11/2022

Mua Proxy Nuôi Zalo Giá Rẻ Tại Onet.com.vn
14/11/2022

BẢNG GIÁ MUA PROXY VIỆT NAM và PROXY US Onet.com.vn
14/11/2022