由城市冒險家 Andrew Horton 和 Brendan Coles bcoles 開發
最新版本:v0.5.5。 2021 年 1 月 16 日
許可證:GPLv2
本產品受授權協議中詳細條款的約束。有關 WhatWeb 的更多信息,請訪問:
首頁:https://morningstarsecurity.com/research/whatweb
維基:https://github.com/urbanadventurer/WhatWeb/wiki/
如果您對 WhatWeb 有任何問題、意見或疑慮,請在聯絡開發人員之一之前查閱文件。隨時歡迎您的回饋。
WhatWeb 識別網站。其目標是回答「該網站是什麼?」的問題。 WhatWeb 認可 Web 技術,包括內容管理系統 (CMS)、部落格平台、統計/分析套件、JavaScript 程式庫、Web 伺服器和嵌入式設備。 WhatWeb 有超過 1800 個插件,每個插件都能辨識不同的東西。 WhatWeb 還可以識別版本號碼、電子郵件地址、帳戶 ID、Web 框架模組、SQL 錯誤等。
WhatWeb 可以是隱密且快速的,也可以是徹底但緩慢的。 WhatWeb 支援攻擊等級來控制速度和可靠性之間的權衡。當您在瀏覽器中造訪某個網站時,交易中會包含許多有關哪些網路技術為該網站提供支援的提示。有時,單一網頁存取包含足夠的資訊來識別網站,但如果沒有,WhatWeb 可以進一步詢問該網站。預設的攻擊等級稱為“隱密”,是最快的,只需要網站的一個 HTTP 請求。這適合掃描公共網站。更積極的模式被開髮用於滲透測試。
大多數 WhatWeb 插件都很全面,可以識別一系列從微妙到明顯的線索。例如,大多數 WordPress 網站可以透過元 HTML 標籤來識別,例如“”,但少數 WordPress 網站刪除了此識別標籤,但這並不妨礙 WhatWeb。 WordPress WhatWeb 外掛程式有超過 15 項測試,其中包括檢查圖示、預設安裝檔案、登入頁面以及檢查相關連結中的「/wp-content/」。
使用 WhatWeb 掃描 reddit.com。
$ ./whatweb reddit.com
http://reddit.com [301 Moved Permanently] Country[UNITED STATES][US], HTTPServer[snooserv], IP[151.101.65.140], RedirectLocation[https://www.reddit.com/], UncommonHeaders[retry-after,x-served-by,x-cache-hits,x-timer], Via-Proxy[1.1 varnish]
https://www.reddit.com/ [200 OK] Cookies[edgebucket,eu_cookie_v2,loid,rabt,rseor3,session_tracker,token], Country[UNITED STATES][US], Email[[email protected],[email protected]], Frame, HTML5, HTTPServer[snooserv], HttpOnly[token], IP[151.101.37.140], Open-Graph-Protocol[website], Script[text/javascript], Strict-Transport-Security[max-age=15552000; includeSubDomains; preload], Title[reddit: the front page of the internet], UncommonHeaders[fastly-restarts,x-served-by,x-cache-hits,x-timer], Via-Proxy[1.1 varnish], X-Frame-Options[SAMEORIGIN]
.$$$ $. .$$$ $.
$$$$ $$. .$$$ $$$ .$$$$$$. .$$$$$$$$$$. $$$$ $$. .$$$$$$$. .$$$$$$.
$ $$ $$$ $ $$ $$$ $ $$$$$$. $$$$$ $$$$$$ $ $$ $$$ $ $$ $$ $ $$$$$$.
$ `$ $$$ $ `$ $$$ $ `$ $$$ $$' $ `$ `$$ $ `$ $$$ $ `$ $ `$ $$$'
$. $ $$$ $. $$$$$$ $. $$$$$$ `$ $. $ :' $. $ $$$ $. $$$$ $. $$$$$.
$::$ . $$$ $::$ $$$ $::$ $$$ $::$ $::$ . $$$ $::$ $::$ $$$$
$;;$ $$$ $$$ $;;$ $$$ $;;$ $$$ $;;$ $;;$ $$$ $$$ $;;$ $;;$ $$$$
$$$$$$ $$$$$ $$$$ $$$ $$$$ $$$ $$$$ $$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$'
WhatWeb - Next generation web scanner version 0.5.5.
Developed by Andrew Horton (urbanadventurer) and Brendan Coles (bcoles)
Homepage: https://morningstarsecurity.com/research/whatweb
Usage: whatweb [options] <URLs>
TARGET SELECTION:
<TARGETs> Enter URLs, hostnames, IP addresses, filenames or
IP ranges in CIDR, x.x.x-x, or x.x.x.x-x.x.x.x
format.
--input-file=FILE, -i Read targets from a file. You can pipe
hostnames or URLs directly with -i /dev/stdin.
TARGET MODIFICATION:
--url-prefix Add a prefix to target URLs.
--url-suffix Add a suffix to target URLs.
--url-pattern Insert the targets into a URL. Requires --input-file,
eg. www.example.com/%insert%/robots.txt
AGGRESSION:
The aggression level controls the trade-off between speed/stealth and
reliability.
--aggression, -a=LEVEL Set the aggression level. Default: 1.
Aggression levels are:
1. Stealthy Makes one HTTP request per target. Also follows redirects.
3. Aggressive If a level 1 plugin is matched, additional requests will be
made.
4. Heavy Makes a lot of HTTP requests per target. Aggressive tests from
all plugins are used for all URLs.
HTTP OPTIONS:
--user-agent, -U=AGENT Identify as AGENT instead of WhatWeb/0.5.5.
--header, -H Add an HTTP header. eg "Foo:Bar". Specifying a default
header will replace it. Specifying an empty value, eg.
"User-Agent:" will remove the header.
--follow-redirect=WHEN Control when to follow redirects. WHEN may be `never',
`http-only', `meta-only', `same-site', or `always'.
Default: always.
--max-redirects=NUM Maximum number of contiguous redirects. Default: 10.
AUTHENTICATION:
--user, -u=<user:password> HTTP basic authentication.
--cookie, -c=COOKIES Provide cookies, e.g. 'name=value; name2=value2'.
--cookiejar=FILE Read cookies from a file.
PROXY:
--proxy <hostname[:port]> Set proxy hostname and port.
Default: 8080.
--proxy-user <username:password> Set proxy user and password.
PLUGINS:
--list-plugins, -l List all plugins.
--info-plugins, -I=[SEARCH] List all plugins with detailed information.
Optionally search with keywords in a comma
delimited list.
--search-plugins=STRING Search plugins for a keyword.
--plugins, -p=LIST Select plugins. LIST is a comma delimited set of
selected plugins. Default is all.
Each element can be a directory, file or plugin name and
can optionally have a modifier, eg. + or -
Examples: +/tmp/moo.rb,+/tmp/foo.rb
title,md5,+./plugins-disabled/
./plugins-disabled,-md5
-p + is a shortcut for -p +plugins-disabled.
--grep, -g=STRING|REGEXP Search for STRING or a Regular Expression. Shows
only the results that match.
Examples: --grep "hello"
--grep "/he[l]*o/"
--custom-plugin=DEFINITIONtDefine a custom plugin named Custom-Plugin,
--custom-plugin=DEFINITION Define a custom plugin named Custom-Plugin,
Examples: ":text=>'powered by abc'"
":version=>/powered[ ]?by ab[0-9]/"
":ghdb=>'intitle:abc "powered by abc"'"
":md5=>'8666257030b94d3bdb46e05945f60b42'"
--dorks=PLUGIN List Google dorks for the selected plugin.
OUTPUT:
--verbose, -v Verbose output includes plugin descriptions. Use twice
for debugging.
--colour,--color=WHEN control whether colour is used. WHEN may be `never',
`always', or `auto'.
--quiet, -q Do not display brief logging to STDOUT.
--no-errors Suppress error messages.
LOGGING:
--log-brief=FILE Log brief, one-line output.
--log-verbose=FILE Log verbose output.
--log-errors=FILE Log errors.
--log-xml=FILE Log XML format.
--log-json=FILE Log JSON format.
--log-sql=FILE Log SQL INSERT statements.
--log-sql-create=FILE Create SQL database tables.
--log-json-verbose=FILE Log JSON Verbose format.
--log-magictree=FILE Log MagicTree XML format.
--log-object=FILE Log Ruby object inspection format.
--log-mongo-database Name of the MongoDB database.
--log-mongo-collection Name of the MongoDB collection. Default: whatweb.
--log-mongo-host MongoDB hostname or IP address. Default: 0.0.0.0.
--log-mongo-username MongoDB username. Default: nil.
--log-mongo-password MongoDB password. Default: nil.
--log-elastic-index Name of the index to store results. Default: whatweb
--log-elastic-host Host:port of the elastic http interface. Default: 127.0.0.1:9200
PERFORMANCE & STABILITY:
--max-threads, -t Number of simultaneous threads. Default: 25.
--open-timeout Time in seconds. Default: 15.
--read-timeout Time in seconds. Default: 30.
--wait=SECONDS Wait SECONDS between connections.
This is useful when using a single thread.
HELP & MISCELLANEOUS:
--short-help Short usage help.
--help, -h Complete usage help.
--debug Raise errors in plugins.
--version Display version information. (WhatWeb 0.5.5).
EXAMPLE USAGE:
* Scan example.com.
./whatweb example.com
* Scan reddit.com slashdot.org with verbose plugin descriptions.
./whatweb -v reddit.com slashdot.org
* An aggressive scan of wired.com detects the exact version of WordPress.
./whatweb -a 3 www.wired.com
* Scan the local network quickly and suppress errors.
whatweb --no-errors 192.168.0.0/24
* Scan the local network for https websites.
whatweb --no-errors --url-prefix https:// 192.168.0.0/24
* Scan for crossdomain policies in the Alexa Top 1000.
./whatweb -i plugin-development/alexa-top-100.txt
--url-suffix /crossdomain.xml -p crossdomain_xml
支援以下類型的日誌記錄:
您可以透過指定多個命令列日誌記錄選項同時輸出到多個日誌。想要 SQL 輸出的高級用戶應該閱讀原始程式碼以查看不支援的功能。
配對是透過以下方式進行的:
列出支援的插件:
$ ./whatweb -l
Plugin Name - Description
--------------------------------------------------------------------------------
1024-CMS - 1024 is one of a few CMS's leading the way with the implementation...
360-Web-Manager - 360-Web-Manager
3COM-NBX - 3COM NBX phone system. The NBX NetSet utility is a web interface i...
3dcart - 3dcart - The 3dcart Shopping Cart Software is a complete ecommerce s...
4D - 4D web application deployment server
4images - 4images is a powerful web-based image gallery management system. Fe...
... (truncated)
要查看有關插件的更多詳細資訊或搜尋關鍵字的插件:
$ ./whatweb -I phpBB
WhatWeb Detailed Plugin List
Searching for phpBB
================================================================================
Plugin: phpBB
--------------------------------------------------------------------------------
Description: phpBB is a free forum
Website: http://phpbb.org/
Author: Andrew Horton
Version: 0.3
Features: [Yes] Pattern Matching (7)
[Yes] Version detection from pattern matching
[Yes] Function for passive matches
[Yes] Function for aggressive matches
[Yes] Google Dorks (1)
Google Dorks:
[1] "Powered by phpBB"
================================================================================
預設情況下加載所有插件。
可以使用 -p 或 --plugin 命令列選項按目錄、檔案或插件名稱作為逗號分隔清單來選擇插件。
每個清單項目可能有一個修飾符:+ 新增到完整集合,- 從完整集合中刪除,並且沒有修飾符覆蓋預設值。
--dorks 命令列選項傳回所選插件的 google dorks。例如,--dorks wordpress 返回“自豪地由 WordPress 提供支援”
--grep, -g 命令列選項在目標頁面中搜尋所選字串,如果找到,則在名為 Grep 的插件中傳回符合項目。
WhatWeb 具有多個層級的攻擊性。預設情況下,攻擊等級設定為 1(隱密),它會傳送單一 HTTP GET 請求並遵循重定向。
--aggression, -a
1. Stealthy Makes one HTTP request per target. Also follows redirects.
2. Unused
3. Aggressive Can make a handful of HTTP requests per target. This triggers
aggressive plugins for targets only when those plugins are
identified with a level 1 request first.
4. Heavy Makes a lot of HTTP requests per target. Aggressive tests from
all plugins are used for all URLs.
3 級攻擊性外掛程式會猜測更多 URL,並在未經許可的情況下執行可能不合適的操作。 WhatWeb 目前不支援外掛程式中的任何入侵/利用等級測試。
1 級隱密掃描辨識出 smartor.is-root.com/forum/ 使用 phpBB 版本 2:
$ ./whatweb smartor.is-root.com/forum/
http://smartor.is-root.com/forum/ [200] PasswordField[password], HTTPServer[Apache/2.2.15], PoweredBy[phpBB], Apache[2.2.15], IP[88.198.177.36], phpBB[2], PHP[5.2.13], X-Powered-By[PHP/5.2.13], Cookies[phpbb2mysql_data,phpbb2mysql_sid], Title[Smartors Mods Forums - Reloaded], Country[GERMANY][DE]
3 級主動掃描會觸發 phpBB 外掛程式中的其他測試,確定網站使用 phpBB 版本 2.0.20 或更高版本:
$ ./whatweb -p plugins/phpbb.rb -a 3 smartor.is-root.com/forum/
http://smartor.is-root.com/forum/ [200] phpBB[2,>2.0.20]
請注意使用 -p 參數僅選擇 phpBB 插件。在嘗試以激進模式識別軟體版本時,建議(但不是強制)選擇特定插件。這種方法更加隱蔽,因為它會限制請求的數量。
WhatWeb 沒有緩存,因此如果您在重定向 URL 上使用激進的插件,您可能會多次取得相同的檔案。
WhatWeb 具有多種選項來提高效能和穩定性。
--wait 和 --max-threads 指令可用於協助 IDS 規避。
使用 -U 或 --user-agent 命令列選項變更使用者代理程式將避免 WhatWeb 的 Snort IDS 規則。
如果您要掃描 IP 位址範圍,那麼在使用 WhatWeb 掃描之前,使用 Massscan 等連接埠掃描器來發現哪些連接埠已打開,會更有效。
使用 Charset 外掛程式進行字元集偵測會需要更多 CPU,從而顯著降低效能。這是 JSON 和 MongoDB 日誌記錄所必需的。
若要啟用 MongoDB 日誌記錄,請安裝 mongo gem。寶石安裝蒙戈
若要啟用字元集偵測和 MongoDB 日誌記錄,請安裝 rchardet gem。 gem install rchardet cp plugins-disabled/charset.rb my-plugins/
插件很容易編寫。首先瀏覽my-plugins/資料夾中的插件教學。
插件教程的概述在這裡。插件教程.txt
完成教學後,請通讀 wiki 的開發部分。
WhatWeb 開發版本具有定期更新功能。
瀏覽 wiki 以取得更多文件和進階使用技術。
感謝以下為 WhatWeb 做出貢獻的人員。
追蹤所有為 WhatWeb 做出貢獻的人是很困難的。如果您的名字遺失,請告訴我。