دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
امنیت
  • Folder icon closed Folder open iconCIA Triad چیست؟ آشنایی با سه اصل اساسی امنیت اطلاعات
  • Folder icon closed Folder open iconAttack Surface چیست؟ آشنایی با سطح حمله در امنیت سایبری
  • Folder icon closed Folder open iconThreat چیست؟ آشنایی با مفهوم تهدید در امنیت سایبری
  • Folder icon closed Folder open iconVulnerability چیست؟ آشنایی با آسیب‌پذیری در امنیت سایبری
  • Folder icon closed Folder open iconExploit چیست؟ آشنایی با مفهوم اکسپلویت در امنیت سایبری
  • Folder icon closed Folder open iconRisk چیست؟ آشنایی با مفهوم ریسک در امنیت سایبری
  • Folder icon closed Folder open iconCVE چیست؟ آشنایی با سیستم شماره‌گذاری آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconCVSS چیست؟ آشنایی با سیستم امتیازدهی آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconبعد از خرید سرور مجازی لینوکس(VPS)، اولین کارهایی که باید انجام دهید
  • Folder icon closed Folder open iconآموزش تغییر Hostname سرور در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح Timezone و NTP در لینوکس
  • Folder icon closed Folder open iconآموزش بروزرسانی کامل سیستم‌عامل لینوکس همه توزیع ها
  • Folder icon closed Folder open iconآموزش ساخت کاربر جدید و حذف استفاده روزمره از Root در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح sudo در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم Banner ورود به SSH در لینوکس
  • Folder icon closed Folder open iconآموزش مدیریت Password Policy در لینوکس
  • Folder icon closed Folder open iconآموزش نصب و راه‌اندازی SSH Key Authentication در لینوکس
  • Folder icon closed Folder open iconآموزش غیرفعال کردن ورود مستقیم Root از طریق SSH
  • Folder icon closed Folder open iconتغییر پورت SSH؛ آیا واقعاً امنیت سرور را افزایش می‌دهد؟
  • Folder icon closed Folder open iconآموزش محدود کردن کاربران مجاز SSH در لینوکس
  • Folder icon closed Folder open iconآموزش محدود کردن دسترسی SSH بر اساس IP در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم LoginGraceTime در SSH؛ کاهش زمان انتظار برای احراز هویت
  • Folder icon closed Folder open iconآموزش تنظیم MaxAuthTries در SSH؛ محدود کردن تعداد تلاش‌های ورود ناموفق
  • Folder icon closed Folder open iconآموزش بررسی لاگ‌های SSH در لینوکس
  • Folder icon closed Folder open iconآموزش عیب‌یابی مشکلات SSH در لینوکس
  • Folder icon closed Folder open iconآموزش کامل UFW در لینوکس؛ راه‌اندازی، مدیریت و ایمن‌سازی فایروال سرور
  • Folder icon closed Folder open iconnftables چیست؟ آشنایی با فایروال نسل جدید لینوکس و جایگزین iptables
  • Folder icon closed Folder open iconآموزش کامل Firewalld در لینوکس
  • Folder icon closed Folder open iconآموزش کامل ConfigServer Security & Firewall (CSF)
  • Folder icon closed Folder open iconآموزش مشاهده Loginهای اخیر در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی پردازش‌های مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی Cron Jobهای مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش کامل Fail2Ban در لینوکس؛ نصب و راه‌اندازی
  • Folder icon closed Folder open iconآموزش نصب RKHunter در لینوکس
  • Folder icon closed Folder open iconآموزش نصب Chkrootkit در لینوکس
  • Folder icon closed Folder open iconآموزش اسکن سرور با RKHunter و Chkrootkit
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و اسکن سرور با AIDE در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و استفاده از Auditd در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، اسکن و تحلیل امنیت سرور با Lynis در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، بروزرسانی و اسکن سرور با ClamAV در لینوکس
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Nginx
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Apache
  • Folder icon closed Folder open iconآموزش Hardening PHP
  • Folder icon closed Folder open iconآموزش Hardening پایگاه داده MySQL
  • Folder icon closed Folder open iconآموزش Hardening سرویس Redis
  • Folder icon closed Folder open iconآموزش Hardening سرویس Docker
  • Folder icon closed Folder open iconآموزش Hardening سرویس FTP
  • Folder icon closed Folder open iconشناسایی Backdoor و ارتباطات مخفی در سرور لینوکس
  • Folder icon closed Folder open iconاسکن آسیب‌پذیری با Nmap NSE
  • Folder icon closed Folder open iconآموزش Socat
  • Folder icon closed Folder open iconآموزش WhatWeb در لینوکس
  • Folder icon closed Folder open iconشناسایی تکنولوژی سایت‌ها
  • Folder icon closed Folder open iconآموزش Amass برای کشف Subdomain
  • Folder icon closed Folder open iconشناسایی Reverse Shell در لینوکس
  • Folder icon closed Folder open iconپیدا کردن فایل‌های SUID مشکوک
  • Folder icon closed Folder open iconبررسی کاربران Administrator مخفی در ویندوز
  • Folder icon closed Folder open iconبررسی PowerShell History
  • Folder icon closed Folder open iconشناسایی Reverse Shell در ویندوز
امنیت

آموزش WhatWeb در لینوکس

آموزش WhatWeb در لینوکس

مقدمه

زمانی که قصد بررسی فنی یک وب‌سایت یا Web Application را داریم، یکی از اولین سؤالات این است:

«این وب‌سایت با چه تکنولوژی‌هایی ساخته شده است؟»

برای مثال ممکن است بخواهیم بدانیم:

  • وب‌سرور Nginx است یا Apache؟
  • سایت از WordPress، Joomla یا CMS دیگری استفاده می‌کند؟
  • چه Frameworkهایی روی سایت قابل شناسایی هستند؟
  • چه JavaScript Libraryهایی استفاده شده‌اند؟
  • آیا نسخه PHP، Web Server یا CMS از بیرون قابل تشخیص است؟
  • چه Cookieها و HTTP Headerهایی توسط سایت ارسال می‌شوند؟

یکی از ابزارهای کاربردی برای این کار WhatWeb است.

WhatWeb یک ابزار Web Fingerprinting است که با بررسی پاسخ‌های HTTP، Headerها، HTML، Cookieها و سایر نشانه‌های قابل مشاهده تلاش می‌کند تکنولوژی‌های مورد استفاده یک وب‌سایت را شناسایی کند.

پروژه WhatWeb بیش از ۱۸۰۰ Plugin برای تشخیص فناوری‌ها و ویژگی‌های مختلف وب دارد.

در این مقاله نحوه نصب و استفاده از WhatWeb و مهم‌ترین قابلیت‌های آن را بررسی می‌کنیم.

WhatWeb را فقط روی وب‌سایت‌ها، سرورها و شبکه‌هایی اجرا کنید که مالک آنها هستید یا مجوز بررسی آنها را دارید.


WhatWeb چیست؟

نام WhatWeb از این سؤال گرفته شده است:

What is that Website?

هدف این ابزار شناسایی Technology Stack یک وب‌سایت است.

WhatWeb می‌تواند نشانه‌های مربوط به مواردی مانند زیر را شناسایی کند:

  • Content Management System
  • Web Server
  • Web Framework
  • JavaScript Library
  • Analytics Platform
  • Programming Technology
  • Cookie
  • HTTP Header
  • IP Address
  • Email Address
  • Account ID
  • نسخه برخی نرم‌افزارها
  • برخی Server Moduleها
  • بعضی Error Messageهای قابل مشاهده

WhatWeb برای این کار از مجموعه بزرگی از Pluginها استفاده می‌کند و در نسخه‌های فعلی پروژه بیش از ۱۸۰۰ Plugin دارد.


آیا WhatWeb ابزار Vulnerability Scanner است؟

خیر.

این نکته بسیار مهم است.

WhatWeb در اصل یک:

Web Technology Fingerprinting Tool

است و نباید آن را یک Vulnerability Scanner کامل در نظر گرفت.

برای مثال اگر خروجی زیر نمایش داده شود:

WordPress
PHP
Nginx
jQuery

WhatWeb فقط تشخیص داده است که نشانه‌هایی از این تکنولوژی‌ها در پاسخ وب‌سایت وجود دارد.

حتی اگر Version خاصی شناسایی شود:

Apache[2.4.x]

نمی‌توان فقط بر اساس این نتیجه اعلام کرد که سرور آسیب‌پذیر است.

برای ارزیابی آسیب‌پذیری باید بررسی‌های دیگری مانند:

  • Patch Level
  • CVE
  • Vendor Advisory
  • Configuration
  • Vulnerability Assessment

نیز انجام شوند.

بنابراین WhatWeb بیشتر در مرحله:

Information Gathering و Reconnaissance

استفاده می‌شود.


نصب WhatWeb در Kali Linux

WhatWeb در Repository رسمی Kali Linux موجود است.

ابتدا:

sudo apt update

سپس:

sudo apt install whatweb

برای بررسی نسخه نصب‌شده:

whatweb --version

صفحه رسمی Kali در حال حاضر WhatWeb 0.6.4 را ارائه می‌کند.


نصب WhatWeb در Ubuntu و Debian

در Ubuntu یا Debian نیز ابتدا Repositoryها را به‌روزرسانی کنید:

sudo apt update

سپس:

sudo apt install whatweb

بعد از نصب:

whatweb --version

را اجرا کنید.

ممکن است نسخه موجود در Repository سیستم‌عامل با آخرین نسخه پروژه اصلی متفاوت باشد.


نصب WhatWeb از GitHub

اگر قصد دارید نسخه اصلی پروژه را دریافت کنید، ابتدا Git و Ruby را نصب کنید:

sudo apt update
sudo apt install git ruby

سپس Repository رسمی را Clone کنید:

git clone https://github.com/urbanadventurer/WhatWeb.git

وارد Directory شوید:

cd WhatWeb

سپس:

./whatweb --help

را اجرا کنید.


مشاهده راهنمای WhatWeb

برای مشاهده تمام گزینه‌های WhatWeb:

whatweb --help

یا:

whatweb -h

Help ابزار شامل بخش‌هایی مانند:

Target Selection
Aggression
HTTP Options
Authentication
Proxy
Plugins
Output
Logging
Performance

است.


اولین اسکن با WhatWeb

ساده‌ترین روش استفاده:

whatweb https://example.com

برای مثال:

whatweb https://www.example.com

خروجی ممکن است مشابه زیر باشد:

https://example.com [200 OK]
HTTPServer[Nginx]
HTML5
IP[192.0.2.10]
Title[Example]
Script
X-Frame-Options[SAMEORIGIN]

هر بخش نشان‌دهنده اطلاعاتی است که یکی از Pluginهای WhatWeb شناسایی کرده است.


چگونه خروجی WhatWeb را بخوانیم؟

فرض کنید خروجی زیر دریافت شود:

https://example.com [200 OK]
WordPress
PHP
Nginx
JQuery
HTML5
Cookies
Title[Example Website]

نتیجه را می‌توان به این شکل تفسیر کرد.

WordPress

نشانه‌هایی از WordPress شناسایی شده است.

PHP

نشانه‌هایی وجود دارد که سایت از PHP استفاده می‌کند.

Nginx

یک Web Server یا Reverse Proxy خود را به‌عنوان Nginx معرفی کرده است.

JQuery

کتابخانه jQuery در محتوای سایت شناسایی شده است.

Cookies

وب‌سایت Cookie ارسال کرده است.

Title

عنوان صفحه HTML تشخیص داده شده است.

اما این اطلاعات باید به‌عنوان Fingerprint تحلیل شوند و نباید همیشه آنها را نمای کامل معماری داخلی سرور دانست.


استفاده از Verbose Mode

برای نمایش اطلاعات بیشتر:

whatweb -v https://example.com

گزینه:

-v

Verbose Output را فعال می‌کند.

در این حالت WhatWeb اطلاعات بیشتری درباره Pluginهایی که Match شده‌اند نمایش می‌دهد.

این قابلیت برای تحلیل دقیق‌تر نتیجه بسیار کاربردی است.


Aggression Level در WhatWeb چیست؟

یکی از مهم‌ترین قابلیت‌های WhatWeb:

Aggression Level

است.

این گزینه مشخص می‌کند WhatWeb تا چه میزان برای شناسایی دقیق‌تر Technologyها درخواست اضافی ارسال کند.

سطوح فعلی اصلی عبارت‌اند از:

1 - Stealthy
3 - Aggressive
4 - Heavy

سطح پیش‌فرض WhatWeb برابر 1 است.


Level 1 – Stealthy

حالت پیش‌فرض:

whatweb -a 1 https://example.com

یا ساده‌تر:

whatweb https://example.com

در Level 1 معمولاً یک HTTP Request اصلی برای Target ارسال می‌شود و Redirectها نیز دنبال می‌شوند.

این حالت برای:

  • بررسی اولیه
  • Technology Discovery
  • Asset Inventory
  • اسکن سریع

مناسب است.


Level 3 – Aggressive

برای بررسی دقیق‌تر:

whatweb -a 3 https://example.com

در Level 3 اگر Plugin در بررسی اولیه Match شود، WhatWeb می‌تواند Requestهای بیشتری برای تشخیص دقیق‌تر آن Technology ارسال کند.

برای مثال ممکن است در اسکن اولیه فقط:

WordPress

شناسایی شود، اما بررسی Aggressive اطلاعات بیشتری درباره آن Technology پیدا کند.


Level 4 – Heavy

حالت Heavy:

whatweb -a 4 https://example.com

در این حالت WhatWeb تست‌های Aggressive مربوط به Pluginهای بیشتری را اجرا می‌کند و می‌تواند تعداد زیادی Request ایجاد کند.

به همین دلیل Level 4 را نباید بدون نیاز روی Production یا سیستم‌های دیگر اجرا کرد.

برای اکثر بررسی‌های عادی بهتر است ابتدا Level 1 اجرا شود.


مشاهده Pluginهای WhatWeb

قدرت اصلی WhatWeb از Pluginهای آن می‌آید.

برای مشاهده Pluginهای موجود:

whatweb -l

یا:

whatweb --list-plugins

در نسخه فعلی پروژه بیش از ۱۸۰۰ Plugin وجود دارد.


مشاهده اطلاعات یک Plugin

برای مشاهده اطلاعات Plugin خاص می‌توان از:

whatweb -I wordpress

استفاده کرد.

یا:

whatweb --info-plugins=wordpress

این قابلیت می‌تواند اطلاعاتی درباره Plugin، روش تشخیص و ویژگی‌های مرتبط با آن نمایش دهد.


اجرای یک Plugin مشخص

به‌جای اجرای همه Pluginها می‌توان فقط Plugin موردنظر را انتخاب کرد.

برای مثال:

whatweb -p wordpress https://example.com

گزینه:

-p

یا:

--plugins

برای انتخاب Plugin استفاده می‌شود.

این روش برای بررسی هدفمند یک Technology مناسب‌تر است.


ترکیب Plugin و Aggressive Scan

فرض کنید WordPress در بررسی اولیه شناسایی شده است.

برای بررسی دقیق‌تر همان Technology:

whatweb -p wordpress -a 3 https://example.com

در این حالت به‌جای اجرای Aggressive Test برای مجموعه بزرگی از Pluginها، تمرکز فقط روی WordPress خواهد بود.


بررسی HTTP و HTTPS

می‌توان Protocol را مستقیماً مشخص کرد.

برای HTTP:

whatweb http://example.com

برای HTTPS:

whatweb https://example.com

اگر Web Service روی پورت دیگری باشد:

whatweb http://example.com:8080

یا:

whatweb https://example.com:8443

این قابلیت برای بررسی Web Applicationهایی که روی Portهای غیرپیش‌فرض اجرا می‌شوند کاربرد دارد.


اسکن چند Target

می‌توان چند Target را در یک دستور مشخص کرد:

whatweb https://site1.example https://site2.example

WhatWeb هر سایت را به‌صورت جداگانه بررسی می‌کند.

برای تعداد Target بیشتر بهتر است از Input File استفاده شود.


خواندن Targetها از فایل

یک فایل ایجاد کنید:

nano targets.txt

برای مثال:

https://site1.example
https://site2.example
https://site3.example

سپس:

whatweb -i targets.txt

گزینه:

-i

Targetها را از فایل دریافت می‌کند.

این قابلیت برای Asset Inventory بسیار مناسب است.


استفاده از WhatWeb برای Asset Inventory

فرض کنید سازمان دارای سرویس‌های زیر است:

portal.example.com
shop.example.com
support.example.com
blog.example.com

می‌توان همه آنها را داخل فایل قرار داد:

whatweb -i targets.txt

و یک Inventory اولیه از Technologyهای مورد استفاده ایجاد کرد.

برای مثال:

portal.example.com
Nginx + PHP

shop.example.com
Magento

support.example.com
Apache

blog.example.com
WordPress

این اطلاعات در مواردی مانند:

  • Asset Management
  • Attack Surface Management
  • Migration Planning
  • Technology Inventory
  • Security Assessment

کاربرد دارد.


اسکن یک Network Range

WhatWeb می‌تواند IP Range و CIDR نیز دریافت کند.

برای مثال:

whatweb --no-errors 192.168.1.0/24

این قابلیت در مستندات رسمی ابزار نیز ارائه شده است.

WhatWeb سیستم‌های موجود را بررسی می‌کند و در صورت وجود Web Service تلاش می‌کند Technologyهای آن را تشخیص دهد.

این کار فقط باید روی شبکه‌ای انجام شود که مجوز بررسی آن را دارید.


بررسی HTTPS در Network Range

اگر قصد دارید Targetها از طریق HTTPS بررسی شوند:

whatweb --no-errors --url-prefix https:// 192.168.1.0/24

گزینه:

--url-prefix

Prefix مشخص‌شده را به Targetها اضافه می‌کند.


مخفی کردن Errorهای غیرضروری

هنگام بررسی تعداد زیادی Target ممکن است برخی Hostها:

  • پاسخ ندهند.
  • Web Server نداشته باشند.
  • Timeout شوند.
  • Connection را Reject کنند.

برای حذف Errorهای اضافی:

whatweb --no-errors https://example.com

یا:

whatweb --no-errors 192.168.1.0/24

تغییر User-Agent

WhatWeb امکان تغییر User-Agent را فراهم می‌کند.

برای مثال:

whatweb -U "Mozilla/5.0" https://example.com

یا:

whatweb --user-agent "Mozilla/5.0" https://example.com

گزینه -U برای تعریف User-Agent سفارشی استفاده می‌شود.

این قابلیت برای بررسی رفتار Application با Clientهای مختلف کاربرد دارد.


ارسال HTTP Header سفارشی

برای اضافه کردن یک Header:

whatweb -H "X-Test: MaralHost" https://example.com

WhatWeb امکان ارسال Custom HTTP Header را نیز فراهم می‌کند.

این قابلیت در محیط Test و Staging کاربرد زیادی دارد.


استفاده از Cookie

می‌توان Cookie نیز همراه Request ارسال کرد.

برای مثال:

whatweb --cookie "session=value" https://example.com

WhatWeb از مدیریت Cookie نیز پشتیبانی می‌کند و می‌تواند Cookieها را هنگام Redirect حفظ کند.

از Session Cookieهای حساس فقط در محیط‌های کنترل‌شده استفاده کنید.


HTTP Basic Authentication

اگر Web Application از Basic Authentication استفاده می‌کند:

whatweb -u username:password https://example.com

این قابلیت برای بررسی سرویس‌های داخلی یا محیط Staging کاربرد دارد.


استفاده از Proxy

WhatWeb می‌تواند درخواست‌های خود را از Proxy عبور دهد.

برای مثال:

whatweb --proxy 127.0.0.1:8080 https://example.com

این قابلیت برای مشاهده و Debug کردن Requestها از طریق Proxy در محیط آزمایش کاربردی است.


ذخیره خروجی WhatWeb

برای بررسی‌های حرفه‌ای بهتر است نتایج ذخیره شوند.

خروجی ساده:

whatweb --log-brief=results.txt https://example.com

خروجی Verbose:

whatweb --log-verbose=results.txt https://example.com

ذخیره خروجی JSON

برای Automation و پردازش اطلاعات:

whatweb --log-json=results.json https://example.com

WhatWeb همچنین JSON Verbose را پشتیبانی می‌کند:

whatweb --log-json-verbose=results.json https://example.com

خروجی JSON برای استفاده در مواردی مانند:

  • Asset Management
  • Dashboard
  • SIEM
  • Data Processing
  • Automation Script

مناسب است.

WhatWeb علاوه بر JSON از چندین Log Format دیگر نیز پشتیبانی می‌کند.


ذخیره خروجی XML

برای ایجاد خروجی XML:

whatweb --log-xml=results.xml https://example.com

این فرمت برای Integration با برخی ابزارها مناسب است.


تنظیم تعداد Threadها

برای اسکن چند Target می‌توان تعداد Threadها را مشخص کرد:

whatweb -t 10 -i targets.txt

در نسخه فعلی WhatWeb مقدار پیش‌فرض:

25

Thread است.

افزایش Thread باعث افزایش سرعت می‌شود اما تعداد Connectionهای هم‌زمان را نیز افزایش می‌دهد.

بنابراین روی Production باید با احتیاط تنظیم شود.


تنظیم Timeout

برای کنترل زمان انتظار:

whatweb --open-timeout 10 --read-timeout 20 https://example.com

گزینه‌های:

--open-timeout
--read-timeout

زمان انتظار برای Connection و دریافت پاسخ را کنترل می‌کنند.


ایجاد فاصله بین Requestها

برای ایجاد فاصله میان Connectionها:

whatweb --wait 2 https://example.com

این قابلیت زمانی مفید است که نمی‌خواهیم Requestها با سرعت زیادی ارسال شوند.


یک Workflow ساده برای بررسی یک سایت

برای بررسی وب‌سایتی که مدیریت آن را بر عهده دارید می‌توانید از مراحل زیر استفاده کنید.

مرحله اول: شناسایی اولیه

whatweb https://example.com

Technologyهای اصلی را مشاهده کنید.

مرحله دوم: مشاهده جزئیات

whatweb -v https://example.com

جزئیات Pluginهای Match شده را بررسی کنید.

مرحله سوم: بررسی Plugin

اگر WordPress شناسایی شد:

whatweb -I wordpress

اطلاعات Plugin را مشاهده کنید.

مرحله چهارم: بررسی دقیق‌تر

در صورت نیاز:

whatweb -p wordpress -a 3 https://example.com

مرحله پنجم: ذخیره نتیجه

whatweb --log-json=results.json https://example.com

اکنون نتیجه قابل استفاده در Inventory یا پردازش‌های بعدی خواهد بود.


نتیجه WhatWeb چقدر قابل اعتماد است؟

هیچ ابزار Fingerprinting نمی‌تواند همیشه تصویر کاملاً دقیقی از معماری داخلی یک وب‌سایت ارائه کند.

برای مثال سایت ممکن است:

  • پشت CDN قرار داشته باشد.
  • از Reverse Proxy استفاده کند.
  • پشت WAF باشد.
  • Server Header را حذف کرده باشد.
  • Versionها را مخفی کرده باشد.
  • Headerهای سفارشی داشته باشد.
  • چند Technology مختلف را هم‌زمان استفاده کند.

برای مثال اگر WhatWeb:

Nginx

را تشخیص دهد، الزاماً به این معنی نیست که Application اصلی مستقیماً روی Nginx اجرا می‌شود.

ممکن است ساختار واقعی چنین باشد:

Internet
   |
   v
CDN
   |
   v
Nginx Reverse Proxy
   |
   v
Apache
   |
   v
PHP Application

WhatWeb فقط بخش‌هایی را مشاهده می‌کند که از سمت اینترنت قابل مشاهده هستند.


آیا مخفی کردن Technology باعث امنیت می‌شود؟

کاهش Information Disclosure می‌تواند مفید باشد.

برای مثال بهتر است Version دقیق Web Server بدون دلیل در Header زیر نمایش داده نشود:

Server: Apache/2.x.x

اما مخفی کردن Version نباید جایگزین اقدامات اصلی امنیتی شود.

امنیت واقعی همچنان نیازمند:

  • Patch Management
  • Secure Configuration
  • Hardening
  • WAF
  • Firewall
  • Access Control
  • Vulnerability Management

است.

مخفی کردن Technology یک اقدام مکمل است، نه یک راهکار امنیتی مستقل.


اشتباهات رایج

برخی اشتباهات متداول هنگام استفاده از WhatWeb عبارت‌اند از:

  • تصور اینکه WhatWeb یک Vulnerability Scanner است.
  • نتیجه‌گیری درباره آسیب‌پذیری فقط بر اساس Version.
  • اجرای Level 4 بدون نیاز.
  • اجرای Aggressive Scan روی سیستم‌های دیگر بدون مجوز.
  • افزایش بیش از حد Threadها.
  • اعتماد کامل به Fingerprintهای شناسایی‌شده.
  • توجه نکردن به CDN و Reverse Proxy.
  • ذخیره نکردن نتایج Asset Discovery.
  • استفاده غیرضروری از Cookie یا Credential حساس.
  • تصور اینکه شناسایی نشدن Technology به معنی مخفی یا امن بودن آن است.

بهترین روش‌ها

برای استفاده صحیح از WhatWeb:

  • ابتدا از Aggression Level پیش‌فرض استفاده کنید.
  • Aggressive Mode را فقط در صورت نیاز اجرا کنید.
  • برای بررسی دقیق‌تر از Plugin مشخص استفاده کنید.
  • فقط Targetهای مجاز را بررسی کنید.
  • نتایج را با منابع دیگر تأیید کنید.
  • Version Detection را معادل Vulnerability Detection ندانید.
  • برای Asset Inventory خروجی JSON ذخیره کنید.
  • سرعت اسکن روی Production را کنترل کنید.
  • CDN، WAF و Reverse Proxy را در تحلیل لحاظ کنید.
  • Technologyهای قدیمی شناسایی‌شده را از نظر Patch و Support بررسی کنید.

چک‌لیست

بعد از اجرای WhatWeb موارد زیر را بررسی کنید:

  • Target صحیح انتخاب شده است.
  • HTTP یا HTTPS به‌درستی مشخص شده است.
  • CMS احتمالی شناسایی شده است.
  • Web Server احتمالی مشخص شده است.
  • Frameworkها و Libraryها بررسی شده‌اند.
  • Versionهای شناسایی‌شده اعتبارسنجی شده‌اند.
  • CDN یا Reverse Proxy در تحلیل در نظر گرفته شده است.
  • Aggressive Mode فقط در صورت نیاز اجرا شده است.
  • نتایج اسکن ذخیره شده‌اند.
  • Technologyهای قدیمی برای Upgrade یا Patch بررسی شده‌اند.
  • نتایج WhatWeb با Vulnerability Assessment اشتباه گرفته نشده‌اند.

مطالعات بیشتر

برای مطالعه بیشتر درباره WhatWeb می‌توانید از منابع رسمی زیر استفاده کنید:

  • مخزن رسمی WhatWeb در GitHub
    مستندات اصلی، نحوه نصب، Commandها، Pluginها، Aggression Level، Logging و قابلیت‌های ابزار.
    WhatWeb GitHub Repository
  • Wiki رسمی WhatWeb
    مستندات تکمیلی پروژه و اطلاعات مربوط به توسعه و استفاده از Pluginها.
    WhatWeb Wiki
  • صفحه رسمی WhatWeb در Kali Linux
    شامل روش نصب، Command Line Optionها و نمونه دستورات WhatWeb.
    WhatWeb در Kali Linux
  • Releaseهای رسمی WhatWeb
    برای مشاهده نسخه‌های جدید و تغییرات هر Release.
    WhatWeb Releases
  • وب‌سایت اصلی پروژه WhatWeb
    معرفی پروژه و اطلاعات مربوط به WhatWeb.
    WhatWeb Official Website

جمع‌بندی

WhatWeb یکی از ابزارهای کاربردی برای شناسایی Technology Stack وب‌سایت‌ها است.

با دستور ساده:

whatweb https://example.com

می‌توان اطلاعات اولیه‌ای درباره CMS، Web Server، Framework، JavaScript Library، Cookie، HTTP Header و سایر Technologyهای قابل مشاهده دریافت کرد.

برای مشاهده اطلاعات بیشتر نیز می‌توان از:

whatweb -v https://example.com

استفاده کرد.

در صورت نیاز به بررسی دقیق‌تر یک Technology مشخص می‌توان Plugin و Aggression Level را ترکیب کرد:

whatweb -p wordpress -a 3 https://example.com

اما WhatWeb را نباید با Vulnerability Scanner اشتباه گرفت. شناسایی یک CMS، Web Server یا Version خاص صرفاً مرحله‌ای از Information Gathering است و به‌تنهایی وجود آسیب‌پذیری را اثبات نمی‌کند.

ارزش اصلی WhatWeb در Technology Fingerprinting، Asset Discovery، Attack Surface Inventory و شناخت اولیه سرویس‌های وب است.

در یک فرآیند امنیتی صحیح، نتایج WhatWeb باید در کنار Patch Management، Configuration Review و Vulnerability Assessment تحلیل شوند.

کیان پور

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

آموزش WhatWeb در لینوکس

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

سپتامبر 2026
شیدسچپج
 1234
567891011
12131415161718
19202122232425
2627282930 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام