
Raccoglitore di Informazioni per Applicazioni Web
wig è uno strumento di raccolta informazioni per applicazioni web, in grado di identificare numerosi Content Management System e altre applicazioni amministrative.
Il fingerprinting dell'applicazione si basa su checksum e corrispondenza di stringhe di file noti per diverse versioni di CMS. Ciò comporta il calcolo di un punteggio per ogni CMS rilevato e le sue versioni. Ogni CMS rilevato viene visualizzato insieme alla/e versione/i più probabile/i. Il calcolo del punteggio si basa su pesi e sul numero di "hit" per un dato checksum.
wig tenta anche di indovinare il sistema operativo sul server basandosi sugli header 'server' e 'x-powered-by'. In wig è incluso un database contenente valori noti degli header per diversi sistemi operativi, che consente a wig di indovinare le versioni di Microsoft Windows e le distribuzioni e versioni Linux.
wig è costruito con Python 3, e quindi non è compatibile con Python 2.
wig può essere eseguito dalla riga di comando o installato con distuils.
$ python3 wig.py example.com
Installare con
$ python3 setup.py install
e poi wig può essere importato da qualsiasi posizione in questo modo:
>>>> from wig.wig import wig
>>>> w = wig(url='example.com')
>>>> w.run()
>>>> results = w.get_results()
Il comportamento predefinito di wig è identificare un CMS e uscire dopo il rilevamento della versione del CMS. Questo viene fatto per limitare la quantità di traffico inviato al server di destinazione. Questo comportamento può essere sovrascritto impostando il flag '-a', nel qual caso wig testerà tutte le impronte digitali conosciute. Poiché alcune configurazioni delle applicazioni non utilizzano la posizione predefinita per file e risorse, è possibile far recuperare a wig tutte le risorse statiche che incontra durante la scansione. Questo viene fatto con l'opzione '-c'. L'opzione '-m' testa tutte le impronte digitali su tutti gli URL recuperati, il che è utile se la posizione predefinita è stata modificata.
usage: wig.py [-h] [-l INPUT_FILE] [-q] [-n STOP_AFTER] [-a] [-m] [-u] [-d]
[-t THREADS] [--no_cache_load] [--no_cache_save] [-N]
[--verbosity] [--proxy PROXY] [-w OUTPUT_FILE]
[url]
WebApp Information Gatherer
positional arguments:
url L'url da scansionare, es. http://example.com
optional arguments:
-h, --help mostra questo messaggio di aiuto ed esci
-l INPUT_FILE File con url, uno per riga.
-q Imposta wig per non chiedere input all'utente durante l'esecuzione
-n STOP_AFTER Fermati dopo che questo numero di CMS è stato rilevato. Predefinito: 1
-a Non fermarti dopo il primo CMS rilevato
-m Prova più a fondo a trovare una corrispondenza senza fare più richieste
-u User-agent da utilizzare nelle richieste
-d Disabilita la ricerca di sottodomini
-t THREADS Numero di thread da utilizzare
--no_cache_load Non caricare le risposte memorizzate nella cache
--no_cache_save Non salvare la cache per usi futuri
-N Scorciatoia per --no_cache_load e --no_cache_save
--verbosity, -v Aumenta la verbosità. Usa più volte per più informazioni
--proxy PROXY Tunnel attraverso un proxy (formato: localhost:8080)
-w OUTPUT_FILE File in cui salvaguardare i risultati (JSON)
$ python3 wig.py example.com
wig - WebApp Information Gatherer
Reindirizzato a http://www.example.com
Continuare? [Y|n]:
Scansionando http://www.example.com...
_____________________________________________________ INFORMAZIONI SITO _____________________________________________________
IP Titolo
256.256.256.256 PAGE_TITLE
______________________________________________________ VERSIONE ______________________________________________________
Nome Versioni Tipo
Drupal 7.38 CMS
nginx Piattaforma
amazons3 Piattaforma
Varnish Piattaforma
IIS 7.5 Piattaforma
ASP.NET 4.0.30319 Piattaforma
jQuery 1.4.4 JavaScript
Microsoft Windows Server 2008 R2 SO
_____________________________________________________ SOTTODOMINI ____________________________________________________
Nome Titolo Pagina IP
http://m.example.com:80 Pagina Mobile 256.256.256.257
https://m.example.com:443 Pagina Mobile Sicura 256.256.256.258
____________________________________________________ INTERESSANTE ____________________________________________________
URL Nota Tipo
/test/ Directory di test Interessante
/login/ Pagina di login Interessante
_______________________________________________ OSSERVAZIONI PIATTAFORMA _______________________________________________
Piattaforma URL Tipo
ASP.NET 2.0.50727 /old.aspx Osservazione
ASP.NET 4.0.30319 /login/ Osservazione
IIS 6.0 http://www.example.com/templates/file.css Osservazione
IIS 7.0 https://www.example.com/login/ Osservazione
IIS 7.5 http://www.example.com Osservazione
_______________________________________________________ STRUMENTI _______________________________________________________
Nome Link Software
droopescan https://github.com/droope/droopescan Drupal
CMSmap https://github.com/Dionach/CMSmap Drupal
__________________________________________________ VULNERABILITÀ __________________________________________________
Affetto #Vuln Link
Drupal 7.38 5 http://cvedetails.com/version/185744
_____________________________________________________________________________________________________________________
Tempo: 11.3 sec Url: 310 Impronte digitali: 37580