
Сборщик информации о веб-приложениях
wig — это инструмент для сбора информации о веб-приложениях, который может идентифицировать множество систем управления контентом и других административных приложений.
Идентификация приложений основана на контрольных суммах и сопоставлении строк известных файлов для различных версий CMS. В результате для каждой обнаруженной CMS и её версий вычисляется оценка. Каждая обнаруженная CMS отображается вместе с наиболее вероятной версией(ями). Расчёт оценки основан на весах и количестве «совпадений» для заданной контрольной суммы.
wig также пытается угадать операционную систему на сервере на основе заголовков 'server' и 'x-powered-by'. В wig включена база данных, содержащая известные значения заголовков для разных операционных систем, что позволяет wig определить версии Microsoft Windows, а также дистрибутив и версию Linux.
wig написан на Python 3 и поэтому несовместим с Python 2.
wig можно запускать из командной строки или установить с помощью distutils.
$ python3 wig.py example.com
Установите с помощью
$ python3 setup.py install
затем wig можно импортировать из любого места, например:
>>>> from wig.wig import wig
>>>> w = wig(url='example.com')
>>>> w.run()
>>>> results = w.get_results()
По умолчанию wig определяет CMS и завершает работу после обнаружения версии CMS. Это сделано для ограничения объёма трафика, отправляемого на целевой сервер. Это поведение можно изменить, задав флаг '-a', в этом случае wig протестирует все известные отпечатки. Поскольку некоторые конфигурации приложений не используют расположение файлов и ресурсов по умолчанию, wig может загрузить все статические ресурсы, которые встречаются во время сканирования. Это делается с помощью опции '-c'. Опция '-m' проверяет все отпечатки по всем загруженным URL, что полезно, если расположение по умолчанию было изменено.
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