1. 程式人生 > >web掃描工具-Nikto介紹與使用

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

多服務器 ber mozilla com 下一個 掃描 each 拒絕 rbo

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


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


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

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


1.簡單使用

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

nikto -host ip -ssl -port 443

nikto -host ip -port 80 -output


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

nikto -host ip -port 80,88,443


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

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