Tutorials

WhatWeb

Cos'è: WhatWeb è uno strumento di fingerprinting utilizzato per identificare e raccogliere informazioni su una vasta gamma di tecnologie web utilizzate da un sito. Attraverso l'analisi delle intestazi

#enumeration

Tool: WhatWeb

Cos'è: WhatWeb è uno strumento di fingerprinting utilizzato per identificare e raccogliere informazioni su una vasta gamma di tecnologie web utilizzate da un sito. Attraverso l'analisi delle intestazioni HTTP, delle risposte del server, dei cookies, e di altre informazioni visibili nel codice sorgente, WhatWeb è in grado di identificare framework, CMS, linguaggi di programmazione, server web, librerie JavaScript, e molti altri componenti utilizzati da un sito web.


Caratteristiche principali:

  • Rilevamento delle tecnologie web: WhatWeb è in grado di rilevare una vasta gamma di tecnologie web, tra cui sistemi di gestione dei contenuti (CMS) come WordPress e Joomla, server web come Apache o Nginx, linguaggi di programmazione come PHP e JavaScript, e framework come Ruby on Rails, Laravel, e Django.
  • Ricerca di vulnerabilità: WhatWeb può anche identificare tecnologie vulnerabili, fornendo informazioni su potenziali rischi durante una valutazione di sicurezza.
  • Modalità di scansione personalizzabile: È possibile specificare diverse opzioni di scansione per adattarlo alle necessità del test, come l'analisi dei parametri specifici o la scansione passiva.
  • Output dettagliato: Fornisce un output completo e dettagliato, che può essere salvato in vari formati, come HTML, JSON, o CSV, utile per la documentazione e la reportistica.
  • Supporto per plugin e aggiornamenti: WhatWeb supporta una vasta gamma di plugin e viene aggiornato regolarmente per rilevare nuove tecnologie e aggiornamenti di sicurezza.

Installazione:

WhatWeb può essere facilmente installato su sistemi basati su Linux e macOS. È scritto in Ruby, quindi è necessario avere Ruby installato per eseguire lo strumento.

1. Installazione su Debian/Ubuntu:

sh
sudo apt-get update sudo apt-get install whatweb
2. Installazione su macOS con Homebrew:
sh
brew install whatweb
3. Installazione tramite GitHub (su tutte le piattaforme):
sh
git clone https://github.com/urbanadventurer/WhatWeb.git
    cd WhatWeb
    sudo gem install bundler
    bundle install
4. Verifica l’installazione: Dopo l'installazione, puoi verificare che WhatWeb sia stato correttamente installato con il comando:
sh
whatweb --version


Sintassi di Base:

La sintassi di base per l'utilizzo di WhatWeb è:

sh
whatweb [opzioni] [URL]

Dove:

  • [opzioni]: Le opzioni che possono essere utilizzate per personalizzare la scansione.
  • [URL]: L'URL del sito web da scansionare.

Opzioni principali:

1. -v: Abilita la modalità verbosa, mostrando informazioni più dettagliate durante l’esecuzione della scansione.

sh
whatweb -v example.com
2. -a [aggressività]: Imposta il livello di aggressività della scansione. Puoi scegliere tra valori da 1 (basso) a 3 (alto).
sh
whatweb -a 3 example.com
3. -t [numero di thread]: Specifica il numero di thread da utilizzare per eseguire la scansione in parallelo, utile per accelerare il processo su siti con molte pagine.
sh
whatweb -t 10 example.com
4. -v [formato di output]: Specifica il formato di output, come JSON, HTML o CSV.
sh
whatweb -v -o example_output.json example.com
5. --no-errors: Disabilita la visualizzazione degli errori nella scansione, utile per evitare confusione durante l'analisi dei risultati.
sh
whatweb --no-errors example.com
6. --plugins [plugin]: Specifica uno o più plugin da usare per estendere le funzionalità di WhatWeb. Ad esempio, è possibile usare plugin per rilevare versioni specifiche di CMS o framework.
sh
whatweb --plugins=wordpress example.com
7. -h: Mostra l’help con tutte le opzioni disponibili.
sh
whatweb -h


Esempi di Utilizzo:

1. Scansione di base di un sito web:

sh
whatweb example.com
Esegue una scansione per rilevare le tecnologie utilizzate da example.com. 2. Scansione con modalità verbosa:
sh
whatweb -v example.com
Aggiunge dettagli extra sull'analisi durante la scansione. 3. Scansione aggressiva con maggiore approfondimento:
sh
whatweb -a 3 example.com
Aumenta il livello di aggressività della scansione per cercare tecnologie più nascoste. 4. Scansione con output in formato JSON:
sh
whatweb -v -o output.json example.com
Salva l’output della scansione in formato JSON. 5. Scansione di un sito web con l’uso di plugin specifici:
sh
whatweb --plugins=wordpress example.com
Limita la scansione alla ricerca di tecnologie associate a WordPress.


Funzionalità Avanzate:

1. Rilevamento di CMS e Framework: WhatWeb è particolarmente utile per identificare i CMS come WordPress, Joomla, e Drupal, nonché i framework come Ruby on Rails o Laravel. Può rilevare informazioni sulla versione di questi strumenti, che possono essere utilizzate per identificare vulnerabilità note. 2. Rilevamento di server web e linguaggi di programmazione: WhatWeb può identificare i server web (Apache, Nginx, IIS) e i linguaggi di programmazione (PHP, Ruby, Python) in uso su un sito web. Questa informazione è essenziale per orientare un attacco a un livello più mirato durante un pentesting. 3. Rilevamento di versioni: Oltre a identificare la tecnologia, WhatWeb è in grado di rilevare anche la versione esatta di un framework o CMS, se questa è esposta, consentendo un’analisi delle vulnerabilità più accurata. 4. Scan passivo: WhatWeb può essere utilizzato in modalità passiva, limitando al minimo il traffico in uscita verso il sito web target, e analizzando solo le risposte HTTP già esistenti. Questa modalità è utile per evitare di attirare l'attenzione durante un test di penetrazione.


Output e Analisi:

L'output di WhatWeb fornisce un elenco dettagliato delle tecnologie rilevate, ad esempio:

php
http://example.com [302 Found] => [Apache, PHP, WordPress]

L'output mostra i seguenti dettagli:

  • Apache come server web.
  • PHP come linguaggio di programmazione.
  • WordPress come CMS in uso.

Questo tipo di informazione è fondamentale per valutare il contesto tecnologico di un sito web e può essere utilizzata per indirizzare ulteriori test di sicurezza, come il riconoscimento di vulnerabilità specifiche per la versione di WordPress rilevata.


Conclusioni:

WhatWeb è uno strumento potente per il fingerprinting delle tecnologie web e un valido alleato per i penetration tester. La sua capacità di identificare una vasta gamma di tecnologie web, come CMS, framework, server web, e linguaggi di programmazione, lo rende fondamentale per una raccolta di informazioni dettagliata e precisa durante la fase di reconnaissance.

La possibilità di personalizzare la scansione e di utilizzare plugin per rilevare tecnologie specifiche rende WhatWeb versatile, mentre l’output dettagliato in vari formati lo rende perfetto per la reportistica. Può essere combinato con altri strumenti come Nmap e Nikto per ottenere una visione completa delle tecnologie e delle vulnerabilità di un sito web.