WhatWeb – szybka analiza technologii używanych przez strony WWW w Linuxie

Wprowadzenie

Podczas administracji systemami, testów bezpieczeństwa lub zwykłego poznawania infrastruktury internetowej często pojawia się pytanie:

„Na jakiej technologii działa ta strona WWW?”

Czy serwer używa Apache czy Nginx?
Czy aplikacja działa na WordPressie, Drupalu, Laravelu, Django albo innym frameworku?
Czy strona korzysta z określonego systemu analitycznego, biblioteki JavaScript lub CDN?

Jednym z prostych, ale bardzo użytecznych narzędzi dostępnych w systemie Linux jest WhatWeb. Pozwala ono automatycznie wykrywać technologie wykorzystywane przez serwisy internetowe na podstawie publicznie dostępnych informacji.

Narzędzie jest popularne wśród administratorów, pentesterów oraz osób zajmujących się analizą bezpieczeństwa aplikacji WWW.

Czym jest WhatWeb?

WhatWeb to skaner technologii internetowych typu web fingerprinting.

Jego zadaniem jest rozpoznanie elementów infrastruktury strony WWW, takich jak:

  • serwer HTTP,
  • system CMS,
  • framework backendowy,
  • biblioteki JavaScript,
  • systemy analityczne,
  • platformy e-commerce,
  • wersje oprogramowania,
  • mechanizmy zabezpieczeń.

Projekt jest dostępny jako open source i został napisany w języku Ruby.

Oficjalne repozytorium:

https://github.com/urbanadventurer/WhatWeb

Instalacja WhatWeb w Linuxie

Ubuntu / Debian

W wielu dystrybucjach WhatWeb znajduje się w repozytoriach:

sudo apt update
sudo apt install whatweb

Sprawdzenie instalacji:

whatweb --version

Przykład:

WhatWeb version 0.5.5

Kali Linux

W Kali Linux narzędzie jest zazwyczaj dostępne domyślnie:

whatweb --version

Jeżeli nie jest zainstalowane:

sudo apt install whatweb

Instalacja z repozytorium Git

Można również pobrać najnowszą wersję:

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

cd WhatWeb

bundle install

Uruchomienie:

./whatweb example.com

Podstawowe użycie

Najprostsza analiza:

whatweb https://example.com

Przykładowy wynik:

https://example.com

HTML5,
HTTPServer[nginx],
Country[US],
Script,
Bootstrap,
jQuery

Oznacza to, że narzędzie wykryło między innymi:

  • HTML5,
  • serwer nginx,
  • bibliotekę Bootstrap,
  • jQuery.

Analiza konkretnej strony

Przykład:

whatweb https://biletomat.pl

Możemy otrzymać informacje takie jak:

Cloudflare,
HTML5,
JavaScript,
HSTS,
Google Analytics

Warto pamiętać, że jeśli strona korzysta z CDN lub WAF (np. Cloudflare), część informacji o prawdziwym serwerze może być ukryta.

Architektura często wygląda tak:

Użytkownik
    |
    |
 Cloudflare CDN
    |
    |
 Serwer WWW
    |
    |
 Aplikacja

WhatWeb analizuje głównie warstwę widoczną z Internetu.

Tryb agresywny

Domyślnie WhatWeb wykonuje szybkie rozpoznanie.

Możemy zwiększyć dokładność:

whatweb -a 3 https://example.com

Dostępne poziomy:

PoziomZnaczenie
1pasywna analiza
2lekko agresywna
3agresywna
4maksymalna

Najczęściej używany:

-a 3

Skanowanie wielu stron

Możemy analizować wiele adresów:

whatweb site1.com site2.com site3.com

Albo z pliku:

whatweb -i urls.txt

Przykład:

urls.txt

https://example.com
https://test.com
https://myserver.local

Zapisywanie wyników

Format tekstowy

whatweb example.com \
--log-verbose wynik.txt

JSON

Bardzo wygodne do automatyzacji:

whatweb example.com \
--log-json wynik.json

Przykład zastosowania:

  • pipeline CI/CD,
  • raporty bezpieczeństwa,
  • inwentaryzacja infrastruktury.

Sprawdzanie nagłówków HTTP

WhatWeb może wykryć informacje z nagłówków:

whatweb --verbose example.com

Możemy zobaczyć:

HTTP Headers:
Server: nginx
X-Powered-By: PHP
Strict-Transport-Security

Przykład praktyczny: wykrywanie CMS

Załóżmy, że mamy stronę:

https://moja-firma.pl

Uruchamiamy:

whatweb -a 3 https://moja-firma.pl

Wynik:

WordPress,
PHP,
Apache,
Yoast SEO,
jQuery

Możemy wywnioskować:

  • strona działa na WordPressie,
  • backend wykorzystuje PHP,
  • serwer WWW to Apache,
  • używany jest plugin Yoast SEO.

WhatWeb a bezpieczeństwo

WhatWeb jest często pierwszym krokiem podczas audytu bezpieczeństwa.

Przykładowy proces:

1. Rozpoznanie domeny
        |
        v
2. WhatWeb
        |
        v
3. Identyfikacja technologii
        |
        v
4. Sprawdzenie znanych podatności
        |
        v
5. Testy bezpieczeństwa

Przykład:

Jeżeli wykryto:

WordPress 5.x

można sprawdzić:

  • znane CVE,
  • aktualizacje,
  • konfigurację bezpieczeństwa.

WhatWeb w skryptach Bash

Narzędzie świetnie nadaje się do automatyzacji.

Przykład:

#!/bin/bash

URL=$1

echo "Scanning $URL"

whatweb \
    --log-json result.json \
    "$URL"

Uruchomienie:

./scan.sh https://example.com

Integracja z Pythonem

Możemy wywołać WhatWeb z programu Python:

import subprocess


url = "https://example.com"


result = subprocess.run(
    [
        "whatweb",
        "--log-json",
        "result.json",
        url
    ],
    capture_output=True,
    text=True
)


print(result.stdout)

Ograniczenia WhatWeb

Należy pamiętać, że:

1. CDN ukrywa infrastrukturę

Cloudflare, Akamai czy Fastly mogą ukryć:

  • prawdziwy adres IP,
  • serwer origin,
  • wersję backendu.

2. Brak wykrycia nie oznacza braku technologii

Jeżeli WhatWeb nie wykrył:

WordPress

nie oznacza to, że WordPressa nie ma.

Administrator może:

  • ukrywać nagłówki,
  • zmienić ścieżki,
  • używać własnego motywu.

3. Nie jest skanerem podatności

WhatWeb nie zastępuje narzędzi takich jak:

  • Nmap,
  • Nikto,
  • OpenVAS,
  • Burp Suite.

Jego zadaniem jest identyfikacja technologii.

Podsumowanie

WhatWeb to niewielkie, ale bardzo praktyczne narzędzie Linuxowe do szybkiego rozpoznawania technologii używanych przez strony WWW.

Najważniejsze komendy:

# podstawowa analiza
whatweb example.com

# dokładniejszy skan
whatweb -a 3 example.com

# zapis JSON
whatweb --log-json wynik.json example.com

# wiele stron
whatweb -i urls.txt

W pracy administratora Linuxa może pomóc w:

  • dokumentowaniu infrastruktury,
  • analizie obcych systemów,
  • audytach bezpieczeństwa,
  • inwentaryzacji technologii,
  • automatyzacji raportów.

To jedno z tych narzędzi, które zajmuje kilka sekund w użyciu, ale często dostarcza bardzo wartościowych informacji.

About the author

Autor "BIELI" to zapalony entuzjasta otwartego oprogramowania, który dzieli się swoją pasją na blogu poznajlinuxa.pl. Jego wpisy są skarbnicą wiedzy na temat Linuxa, programowania oraz najnowszych trendów w świecie technologii. Autor "BIELI" wierzy w siłę społeczności Open Source i zawsze stara się inspirować swoich czytelników do eksplorowania i eksperymentowania z kodem.