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.

Sandclock 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, Sandclock 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 Install Android in Dual Boot with Linux

The most dominant mobile operating systems are iOS and Android but did you know that if you have a laptop, you can run...
28/12/2020

[Netbox] [Phần 5] Hướng dẫn khai báo IPAM trên Netbox

IPAM là viết tắt của IP Address Management, được sử dụng để quản lý các vlan và địa chỉ IP....
30/12/2020

SSH Key Setup for GitHub

To understand Github you first need to make sure you are aware of a Git . Git is a open source version control system that...
29/12/2020
Bài Viết

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

Hướng dẫn chuyển đổi windows server windows evaluation to standard và active windows server 2008 + 2012 + 2016 + 2019
26/10/2021

How to Update Ubuntu Linux
24/10/2021

Squid Proxy Manager cài đặt và quản lý Proxy Squid tự động trên ubuntu
20/10/2021

Hướng dẫn cài đặt Apache CloudStack 4.15.2.0
19/10/2021

Hướng dẫn ký file PDF bằng chữ ký số (chữ ký điện tử) và sửa lỗi mới nhất 2021 foxit reader
19/10/2021