
WebApp-Informationssammler
wig ist ein Tool zum Sammeln von Informationen über Webanwendungen, das zahlreiche Content-Management-Systeme und andere administrative Anwendungen identifizieren kann.
Der Fingerabdruck der Anwendung basiert auf Prüfsummen und Zeichenkettenabgleich bekannter Dateien für verschiedene Versionen von CMS. Dabei wird für jedes erkannte CMS und seine Versionen eine Punktzahl berechnet. Jedes erkannte CMS wird zusammen mit der/den wahrscheinlichsten Version(en) angezeigt. Die Berechnung der Punktzahl basiert auf Gewichtungen und der Anzahl der 'Treffer' für eine bestimmte Prüfsumme.
wig versucht auch, das Betriebssystem auf dem Server anhand der Header 'server' und 'x-powered-by' zu erraten. In wig ist eine Datenbank mit bekannten Header-Werten für verschiedene Betriebssysteme enthalten, die es wig ermöglicht, Microsoft Windows-Versionen sowie Linux-Distributionen und -Versionen zu erraten.
wig ist mit Python 3 erstellt und daher nicht mit Python 2 kompatibel.
wig kann von der Kommandozeile ausgeführt oder mit distuils installiert werden.
$ python3 wig.py example.com
Installieren mit
$ python3 setup.py install
und dann kann wig von jedem Ort wie folgt importiert werden:
>>>> from wig.wig import wig
>>>> w = wig(url='example.com')
>>>> w.run()
>>>> results = w.get_results()
Das Standardverhalten von wig ist es, ein CMS zu identifizieren und nach der Versionserkennung des CMS zu beenden. Dies dient dazu, die Datenmenge zu begrenzen, die an den Zielserver gesendet wird. Dieses Verhalten kann durch Setzen der Option '-a' überschrieben werden, wobei wig dann alle bekannten Fingerabdrücke testet. Da einige Konfigurationen von Anwendungen nicht den Standardort für Dateien und Ressourcen verwenden, ist es möglich, wig alle statischen Ressourcen abrufen zu lassen, die es während des Scans findet. Dies erfolgt mit der Option '-c'. Die Option '-m' testet alle Fingerabdrücke gegen alle abgerufenen URLs, was hilfreich ist, wenn der Standardort geändert wurde.
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