Nikto安裝和使用

1 Nikto簡介

Nikto 是一款開放源代碼的、功能強大的 WEB 掃描評估軟件,能對 web 服務器多種安全項目進行測試的掃描軟件,去尋找已知有名的漏洞,能在230多種服務器上掃描出2600多種有潛在危險的文件、CGI 及其他問題,它可以掃描指定主機的 WEB 類型、主機名、特定目錄、COOKIE、特定 CGI 漏洞、返回主機允許的 http 模式等等。

它也使用 LibWhiske 庫,但通常比 Whisker 更新的更爲頻繁。Nikto 是網管安全人員必備的 WEB 審計工具之一。

Nikto 是 perl 語言開發的,其特點掃描全面,速度快。

2 安裝Nikto

  1. 安裝 perl
    $ sudo apt-get install perl
    
  2. 安裝 libwhisker
    $ wget https://sourceforge.net/projects/whisker/files/libwhisker/2.5/libwhisker2-2.5.tar.gz
    $ tar xzvf libwhisker2-2.5.tar.gz
    $ mkdir -p /usr/local/share/perl/5.26.1/	#若沒有創建該目錄,在後面安裝libwhisker時會報錯
    $ cd libwhisker2-2.5
    $ perl Makefile.pl install
    
  3. 下載 nikto
    $ git clone https://github.com/sullo/nikto.git
    

3 命令行參數

官方介紹:https://github.com/sullo/nikto

以下所有選項,凡是有帶 + 號的代表後面需要跟一個值:

-ask+
Whether to ask about submitting updates
yes  詢問每個(默認)
no   不用詢問,且不不發送
auto 不用詢問,只是發送

-Cgidirs+	掃描CGI目錄:"none", "all", 或者類似 "/cgi/ /cgi-a/"

-config+	使用指定的 config 文件來替代安裝在本地的 config.txt 文件

-Display+
開啓/關閉 Nikto 輸出的顯示
1 顯示重定向
2 顯示已收到的cookies信息
3 顯示所有200/OK的響應
4 顯示有認證請求的URL
D Debug輸出
E 顯示所有HTTP錯誤
P 將進度打印到標準輸出
S 清除ip和主機的輸出
V 詳細輸出

-dbcheck	檢查數據庫和其他關鍵文件的語法錯誤

-evasion+
使用 LibWhisker 中對 IDS 的逃逸技術,可使用以下幾種類型:
1 隨機URL編碼(非UTF-8方式)
2 自選擇路徑(/./)
3 虛假的請求結束
4 前置長隨機字符串
5 參數欺騙
6 使用製表符作爲請求的分隔符
7 改變URL的大小寫
8 使用Windows路徑分隔符\替換/
A 使用回車(0x0d)作爲請求的分隔符
B 使用二進制值0x0b作爲請求的分隔符

-Format+
指定檢測報告輸出文件的格式
csv   Comma-separated-value
htm   HTML格式
msf+  記錄到Metasploit
nbe   Nessus NBE格式
txt   文本格式
xml   XML格式

-Help		幫助信息

-host+		目標主機(主機名、IP地址、主機列表文件)

-IgnoreCode	Ignore Codes--treat as negative responses

-id+		ID和密碼對於授權的HTTP認證。格式:id:password 或 id:pass:realm

-key+		客戶端證書密鑰文件

--list-plugins	列出所有可用的插件,不執行測試

-maxtime+	每個主機的最大測試時間

-mutate+
變化猜測技術
1 使用所有的root目錄測試所有文件
2 猜測密碼文件名字
3 列舉Apache的用戶名(/~user)
4 列舉cgiwrap的用戶名(/cgi-bin/cgiwrap/~user)
5 嘗試暴力破解子域名,假設主機名是父域名
6 嘗試從提供的字典文件中猜測目錄名

-mutate-options	提供突變的信息

-nointeractive	禁用互動功能

-nolookup	禁用DNS查找

-nossl		禁用SSL的使用

-no404		禁止nikto嘗試猜測404頁面

-output+	指定報告輸出路徑和文件名

-Pause+     每次測試之間的延遲時間(seconds, integer or float)

-Plugins+   要運行的插件列表(default: ALL)

-port+		掃描端口指定,默認爲80端口。

-RSAcert+	客戶端證書文件

-root+		Prepend root value to all requests, format is /directory

-Save		Save positive responses to this directory ('.' for auto-name)

-ssl		強制在端口上使用SSL模式

-Tuning+
控制 Nikto 使用不同的方式來掃描目標。
0 文件上傳
1.日誌文件
2.默認的文件
3 信息泄漏
4 注入(XSS/Script/HTML)
5 遠程文件檢索(Web 目錄中)
6 拒絕服務(DOS)
7 遠程文件檢索(服務器)
8 代碼執行/遠程shell
9 SQL注入
a 認證繞過
b 軟件識別
c Remote Source Inclusion
x 反向調優選項(例如:包括除指定外的所有文件)

-timeout+		每個請求的超時時間,默認爲10秒

-Userdbs
只加載用戶數據庫,而不加載標準數據庫
all---禁用標準dbs,只加載用戶dbs
tests-僅禁用db_tests和加載udb_tests

-until			運行到指定的時間或持續時間

-update			從 CIRT.net 更新插件和數據庫

-useproxy		使用在 nikto.conf 中定義的代理

-Version		打印插件和數據庫版本

-vhost+			Virtual host (for Host header)

4 使用Nikto

  1. 快速入門

    進行最基本的 nikto 掃描,你只需要指定 host(通過 -h 參數指定),也可以指定要掃描的端口號(通過 -p 來指定),默認端口是80。nikto.pl 是在 program 目錄下,需要進入到該目錄下,才能運行以下的命令。

    $ perl nikto.pl -host 192.168.0.1
    
  2. 多端口掃描

    1. 掃描80,88,443三個端口

      $ perl nikto.pl -host 192.168.0.1 -port 80,88,443
      
    2. 掃描80~90共10個端口

      $ perl nikto.pl -host 192.168.0.1 -port 80-90
      
  3. 多host掃描

    $ perl nikto.pl -host url.txt
    

    -host 參數的值爲一個文件,該文件存一系列的 host 或者 ip,文件的格式要求是,每個 host 必須佔一行,端口號放行末,端口號通過冒號或者逗號和 host,其他端口號區分開,給一個文件示例:

    192.168.0.1:80
    http://192.168.0.1:8080/
    192.168.0.3
    
  4. 掃描 https 網站

    $ perl nikto.pl -host www.baidu.com -ssl -port 443
    
  5. 使用代理進行掃描

    $ perl nikto.pl -host https://www.baidu.com -ssl -useproxy http://127.0.0.1:8080
    
  6. 使用 LibWhisker 繞過 IDS 的檢測

    $ perl nikto.pl -host www.baidu.com -ssl -port 443 -evasion 1358
    
  7. 交互功能

    在掃描期間,按下下面任意鍵,可開啓或關閉相關功能,注意這些命令是區分大小寫的。

    參數 功能
    空格 報告當前掃描狀態
    v 顯示詳細信息
    d 顯示調試信息
    e 顯示http錯誤信息
    p 顯示掃描進度
    r 顯示重定向信息
    c 顯示cookie
    a 顯示身份認證過程
    q 退出程序
    N 掃描下一個目標
    P 暫停掃描
  8. 生成報告

    $ perl nikto.pl -host xxxx -output result.html -F html
    

5 參考

本文由下列兩篇文章整理而來,並經過測試驗證:

https://blog.csdn.net/fly_heart_yuan/article/details/6799043
https://blog.csdn.net/smli_ng/article/details/105994754

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章