web掃描工具-Nikto介紹與使用

Nikto
Perl語言開發的開源Web安全掃描器web


web掃描模式:
截斷代理
主動掃描sql


能夠掃描的方面:
軟件版本
搜索存在安全隱患的文件
服務器配置漏洞
WEB Application層面的安全隱患
避免404誤判
-不少服務器不尊從RFC標準,對於不存在的對象返回200響應碼
-依據響應文件內容判斷,不一樣擴展名的文件404響應內容不一樣
-去除時間信息後的內容取MD5
-no404(考慮速度的話,)shell

 

1.Nikto 簡單使用
2.Nikto-interactive(交互方式)
3.設置使用 cookie 自動登陸掃描
4.使用 LibWhisker 中對 IDS 的躲避技術數據庫

 


1.簡單使用express

a 最基本的nikto掃描只須要指定目標的host(經過 -host 參數指定),也能夠指定要掃描的端口號(經過 -port 來指定),默認是80,output是輸出這個文件
nikto -host ip -port 80vim

nikto -host ip -ssl -port 443windows

nikto -host ip -port 80 -output 安全


b 多端口掃描
掃描80,88,443三個端口服務器

nikto -host ip -port 80,88,443cookie


nikto -host ip -ssl -port 80,88,443

掃描80~90共10個端口

nikto -host ip -p 80-90

 

c 多host掃描
-h 參數的值爲一個文件,該文件存一系列的host或者ip。

文件的格式要求是:每一個host必須佔一行,端口號放行末,端口號經過冒號或者逗號和host其餘端口號區分開
文件示例:
192.168.0.1:80

http://192.168.0.1:8080
192.168.0.3:80

nikto -host host.txt


d 和nmap結合使用,將 nmap 發現的主機進行掃描

nmap -p80 192.168.1.0/24 -oG - | nikto -host -


e 支持代理
nikto -host ip -usertproxy url

 

 

 


2.Nikto-interactive(交互方式)

在掃描的過程當中敲下按鍵,便可打開開關


按一次爲打開開關,再按一次爲關閉

Space – report current scan status

v – verbose mode on/off
//顯示正在掃描的內容詳細信息


d – debug mode on/off
//更詳細的掃描內容信息


e – error reporting on/off

//查看掃描過程當中錯誤的信息


p – progress reporting on/off
//查看掃描的進度


r – redirect display on/off
//把全部的重定向顯示出來


c – cookie display on/off

//把全部COOKIE顯示出來


a – auth display on/off

//把身份認證的過程顯示出來


q – quit

//退出掃描


N – next host

//中止這個地址的掃描,掃描host列表的下一個


P - Pause

//暫停

 

 


3.設置使用 cookie 自動登陸掃描


第一種:基於HTTP身份認證
如今使用基於HTTP作身份驗證的網站不多,這種方式更多應用於嵌入式設備,更多網站基於表單作身份驗證。

使用id參數
id 主機使用的身份驗證,格式是 ID:密碼 或 ID:密碼:域

 

第二種:使用 cookie 自動登陸掃描

咱們須要把cookie設置到配置文件
配置文件位置: /etc/nikto.conf

 


a 配置文件默認使用 Nikto 的 User Agent,更改成 IE8 或其餘


root@kali:~# vim /etc/nikto.conf

#USERAGENT=Mozilla/5.00 (Nikto/@VERSION) (Evasions:@EVASIONS) (Test:@TESTID)

USERAGENT=Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)
# 17行

# 更換爲 IE8:單擊 User-Agent-Swicher,選擇並複製其中的UA值

 

 


b 配置默認 cookie


# "cookie1"="cookie value";"cookie2"="cookie val"

STATIC-COOKIE="PHPSESSID"="31ce7cd539ed93f182d7881460fe0def";"security"="high"
# 57行

 

 


c 使用修改過配置文件的 nikto 進行掃描,掃描過程當中按 d 進行 debug 模式,進行驗證配置信息

root@kali:~# nikto -host http://172.16.10.133/dvwa -port 80

 

 

4. 使用 LibWhisker 中對 IDS 的躲避技術
# -evasion
Specify the LibWhisker IDS evasion technique to use (see the LibWhisker docs for detailed information on
these). Use the reference number to specify the type, multiple may be used:

1 - Random URI encoding (non-UTF8)

2 - Directory self-reference (/./)

3 - Premature URL ending

4 - Prepend long random string

5 - Fake parameter

6 - TAB as request spacer

7 - Change the case of the URL

8 - Use Windows directory separator (\)

# -evasion 使用 LibWhisker 中對 IDS 的躲避技術,可以使用如下幾種類型:

1 隨機 URL 編碼(非 UTF-8 方式)

2 天然選擇路徑 (/./)

3 過早的結束URL

4 優先考慮長隨機字符串

5 參數欺騙

6 使用 TAB 做爲命令的分隔符

7 使用變化的 URL

8 使用 windows 路徑風額度 "\"

例子:nikto -host http://172.16.10.133/dvwa -evasion 167

 

 

nikto 參數
Nikto 是一個比較全面的網頁掃描器。

選項:
-ask+ Whether to ask about submitting updates yes Ask about each (default)
no Don't ask, don't send
auto Don't ask, just send
-Cgidirs+ 掃描這些CGI目錄: "none", "all", or values like "/cgi/ /cgi-a/"
-config+ 使用指定的config文件來替代安裝在本地的config.txt文件


-Display+ Turn on/off display outputs:
1 顯示重定向
2 顯示接受 cookie
3 顯示全部200/OK響應
4 顯示要求驗證的 URL
D 調試輸出
E 顯示全部HTTP錯誤 P 打印處理進度到STDOUT
S 格式輸出IP地址和主機名
V 詳細輸出


-dbcheck Check database and other key files for syntax errors

 

-evasion+ 編碼技術: 該選項可以對掃描包進行一些變形,繞過IDC檢測。可以使用如下幾種類型:
1 隨機URI編碼 (non-UTF8)
2 使用相對路徑做爲參考 (/./)
3 Premature URL ending 虛假的請求結束
4 Prepend long random string 長的URL請求
5 隱藏參數
6 使用 TAB 做爲命令的分隔符
7 大小寫敏感
8 使用Windows路徑分隔符\替換

A Use a carriage return (0x0d) as a request spacer

B Use binary value 0x0b as a request spacer

 


-Format+ Save file (-o) format:
csv 逗號分隔值
htm HTML格式
nbe Nessus的NBE格式
sql Generic SQL (see docs for schema)
txt 文本(默認狀況下,若是沒有指定)
xml XML格式
(if not specified the format will be taken from the file extension passed to -output)


-Help 幫助
-host+ 目標主機
-404code Ignore these HTTP codes as negative responses (always). Format is "302,301".
-404string Ignore this string in response body content as negative response (always). Can be a regular expression.
-id+ 主機使用的身份驗證,格式是 ID:密碼 或 ID:密碼:領域
-key+ Client certificate key file
-list-plugins 列出全部可用的插件,不執行測試
-maxtime+ 每一個主機的最大測試時間 (e.g., 1h, 60m, 3600s)


-mutate+ 猜額外的文件名。變化猜想技術:
1 測試全部的文件,全部的根目錄
2 猜想密碼文件名
3 經過Apache枚舉用戶名(/~user type requests)
4 經過cgiwrap枚舉用戶名(/cgi-bin/cgiwrap/~user type requests)
5 試暴力破解子域名,假設主機名稱是父域名
6 嘗試使用從提供的字典文件的目錄名稱


-mutate-options Provide information for mutates
-nointeractive 禁用交互特性
-nolookup 禁止DNS查找
-nossl 禁止使用SSL
-no404 禁用Nikto嘗試猜想404頁
-Option Over-ride an option in nikto.conf, can be issued multiple times
-output+ Write output to this file ('.' for auto-name)
-Pause+ 測試之間的停頓(秒,整數或浮點數)
-Plugins+ 列出正在運行的插件(默認:ALL)
-port+ 要使用的端口(默認80)
-RSAcert+ Client certificate file
-root+ 前面加上root值到全部請求,格式爲/目錄
-Save Save positive responses to this directory ('.' for auto-name)
-ssl 強制SSL端口模式


-Tuning+ 掃描選項: 選項控制Nikto使用不一樣的方式來掃描目標。
1 日誌文件
2 默認文件
3 信息泄漏
4 注入 (XSS/Script/HTML)
5 遠程文件檢索 - Inside Web Root
6 拒絕服務
7 遠程文件檢索 - Server Wide
8 執行命令 / 遠程shell
9 SQL 注入
0 文件上傳
a 認證繞過
b 軟件關聯
c Remote Source Inclusion
d WebService
e Administrative Console
x 反向鏈接選項 (i.e., include all except specified)

-timeout+ 請求超時時間 (默認 10 秒) -Userdbs Load only user databases, not the standard databases all Disable standard dbs and load only user dbs tests Disable only db_tests and load udb_tests -useragent Over-rides the default useragent -until Run until the specified time or duration -update 從 CIRT.net 更新 數據庫 和 插件 -useproxy 使用在 nikto.conf 定義的代理, 或者 使用參數 http://server:port -Version 打印插件和數據庫版本 -vhost+ 虛擬主機(用於主機頭) + requires a value

相關文章
相關標籤/搜索