
Coletor de Informações WebApp
wig é uma ferramenta de coleta de informações de aplicações web, que pode identificar numerosos Sistemas de Gerenciamento de Conteúdo (CMS) e outras aplicações administrativas.
A impressão digital (fingerprinting) de aplicações é baseada em checksums e correspondência de strings de arquivos conhecidos para diferentes versões de CMSes. Isso resulta em uma pontuação calculada para cada CMS detectado e suas versões. Cada CMS detectado é exibido juntamente com a(s) versão(ões) mais provável(is). O cálculo da pontuação é baseado em pesos e na quantidade de "acertos" para um checksum específico.
wig também tenta adivinhar o sistema operacional no servidor com base nos cabeçalhos 'server' e 'x-powered-by'. Um banco de dados contendo valores de cabeçalho conhecidos para diferentes sistemas operacionais está incluído no wig, o que permite que o wig adivinhe versões do Microsoft Windows e distribuições e versões do Linux.
wig é construído com Python 3 e, portanto, não é compatível com Python 2.
wig pode ser executado a partir da linha de comando ou instalado com distuils.
$ python3 wig.py example.com
Instale com
$ python3 setup.py install
e então o wig pode ser importado de qualquer localização da seguinte forma:
>>>> from wig.wig import wig
>>>> w = wig(url='example.com')
>>>> w.run()
>>>> results = w.get_results()
O comportamento padrão do wig é identificar um CMS e sair após a detecção da versão do CMS. Isso é feito para limitar a quantidade de tráfego enviado ao servidor alvo. Esse comportamento pode ser sobrescrito definindo a flag '-a', caso em que o wig testará todas as impressões digitais conhecidas. Como algumas configurações de aplicações não usam a localização padrão para arquivos e recursos, é possível fazer com que o wig busque todos os recursos estáticos que encontrar durante sua varredura. Isso é feito com a opção '-c'. A opção '-m' testa todas as impressões digitais contra todas as URLs buscadas, o que é útil se a localização padrão tiver sido alterada.
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 The url to scan e.g. http://example.com
optional arguments:
-h, --help show this help message and exit
-l INPUT_FILE File with urls, one per line.
-q Set wig to not prompt for user input during run
-n STOP_AFTER Stop after this amount of CMSs have been detected. Default:
1
-a Do not stop after the first CMS is detected
-m Try harder to find a match without making more requests
-u User-agent to use in the requests
-d Disable the search for subdomains
-t THREADS Number of threads to use
--no_cache_load Do not load cached responses
--no_cache_save Do not save the cache for later use
-N Shortcut for --no_cache_load and --no_cache_save
--verbosity, -v Increase verbosity. Use multiple times for more info
--proxy PROXY Tunnel through a proxy (format: localhost:8080)
-w OUTPUT_FILE File to dump results into (JSON)
$ python3 wig.py example.com
wig - WebApp Information Gatherer
Redirected to http://www.example.com
Continue? [Y|n]:
Scanning http://www.example.com...
_____________________________________________________ SITE INFO _____________________________________________________
IP Title
256.256.256.256 PAGE_TITLE
______________________________________________________ VERSION ______________________________________________________
Name Versions Type
Drupal 7.38 CMS
nginx Platform
amazons3 Platform
Varnish Platform
IIS 7.5 Platform
ASP.NET 4.0.30319 Platform
jQuery 1.4.4 JavaScript
Microsoft Windows Server 2008 R2 OS
_____________________________________________________ SUBDOMAINS ____________________________________________________
Name Page Title IP
http://m.example.com:80 Mobile Page 256.256.256.257
https://m.example.com:443 Secure Mobil Page 256.256.256.258
____________________________________________________ INTERESTING ____________________________________________________
URL Note Type
/test/ Test directory Interesting
/login/ Login Page Interesting
_______________________________________________ PLATFORM OBSERVATIONS _______________________________________________
Platform URL Type
ASP.NET 2.0.50727 /old.aspx Observation
ASP.NET 4.0.30319 /login/ Observation
IIS 6.0 http://www.example.com/templates/file.css Observation
IIS 7.0 https://www.example.com/login/ Observation
IIS 7.5 http://www.example.com Observation
_______________________________________________________ TOOLS _______________________________________________________
Name Link Software
droopescan https://github.com/droope/droopescan Drupal
CMSmap https://github.com/Dionach/CMSmap Drupal
__________________________________________________ VULNERABILITIES __________________________________________________
Affected #Vulns Link
Drupal 7.38 5 http://cvedetails.com/version/185744
_____________________________________________________________________________________________________________________
Time: 11.3 sec Urls: 310 Fingerprints: 37580