29 дек. 2010 г.

Установка сканера уязвимостей skipfish в Linux

skipfish - ПО разработанное для анализа защищенности веб-сервисов.

Домашняя страница:

Страница документации на сайте google code:

Так же в блоге разработчика есть описание этой программы:

В документации написано, что данное ПО позволяет выявлять и сканировать следующие проблеммы:
    High risk flaws 
     
  • Server-side SQL / PHP injection (including blind vectors, numerical parameters).
  • Explicit SQL-like syntax in GET or POST parameters.
  • Server-side shell command injection (including blind vectors).
  • Server-side XML / XPath injection (including blind vectors).
  • Format string vulnerabilities.
  • Integer overflow vulnerabilities.
  • Locations accepting HTTP PUT.
    Medium risk flaws 
     
  • Stored and reflected XSS vectors in document body (minimal JS XSS support present).
  • Stored and reflected XSS vectors via HTTP redirects.
  • Stored and reflected XSS vectors via HTTP header splitting.
  • Directory traversal / file inclusion (including constrained vectors).
  • Assorted file POIs (server-side sources, configs, etc).
  • Attacker-supplied script and CSS inclusion vectors (stored and reflected).
  • External untrusted script and CSS inclusion vectors.
  • Mixed content problems on script and CSS resources (optional).
  • Password forms submitting from or to non-SSL pages (optional).
  • Incorrect or missing MIME types on renderables.
  • Generic MIME types on renderables.
  • Incorrect or missing charsets on renderables.
  • Conflicting MIME / charset info on renderables.
  • Bad caching directives on cookie setting responses.
    Low risk issues 
     
  • Directory listing bypass vectors.
  • Redirection to attacker-supplied URLs (stored and reflected).
  • Attacker-supplied embedded content (stored and reflected).
  • External untrusted embedded content.
  • Mixed content on non-scriptable subresources (optional).
  • HTTP credentials in URLs.
  • Expired or not-yet-valid SSL certificates.
  • HTML forms with no XSRF protection.
  • Self-signed SSL certificates.
  • SSL certificate host name mismatches.
  • Bad caching directives on less sensitive content.

Internal warnings:
  • Failed resource fetch attempts.
  • Exceeded crawl limits.
  • Failed 404 behavior checks.
  • IPS filtering detected.
  • Unexpected response variations.
  • Seemingly misclassified crawl nodes.
Non-specific informational entries:
  • General SSL certificate information.
  • Significantly changing HTTP cookies.
  • Changing Server, Via, or X-... headers.
  • New 404 signatures.
  • Resources that cannot be accessed.
  • Resources requiring HTTP authentication.
  • Broken links.
  • Server errors.
  • All external links not classified otherwise (optional).
  • All external e-mails (optional).
  • All external URL redirectors (optional).
  • Links to unknown protocols.
  • Form fields that could not be autocompleted.
  • Password entry forms (for external brute-force).
  • File upload forms.
  • Other HTML forms (not classified otherwise).
  • Numerical file names (for external brute-force).
  • User-supplied links otherwise rendered on a page.
  • Incorrect or missing MIME type on less significant content.
  • Generic MIME type on less significant content.
  • Incorrect or missing charset on less significant content.
  • Conflicting MIME / charset information on less significant content.
  • OGNL-like parameter passing conventions.

Перед установкой следует убедиться в наличии следующих библиотек:
libssl-dev libidn11 libidn11-dev

Там скачайте архив программы и распакуйте его. После распаковки зайдите в директорию и запустите


Далее требуется скопировать словарь из директории dictionaries в корневую директорию программы и переименовать его в skipfish.wl Далее можно уже запускать сканер. Тут читайте документацию, но самый для примера можно запустить: ./skipfish -o results http://www.mysite.com  Результаты сканирования будут в директории results дом. директории приложения.
Что бы не мучаться с именем словаря и копированием его, можно указать его опцией -W <имя словаря>
Например: -W dict.wl



Альбом: LINUX и Open Source 


В таблице описывается процесс работы программы. Первое поле прошедшие время работы.
Ниже находится показатель запросов в секунду, он должен быть не менее 50 а еще лучше 100-200 иначе работа программы будет очень долгой.

Поле pivots показывает кол-во запросов которое нужно выполнить, выполненные запросы и процентное завершение процесса.



Дополнительно:

Режимы brute-force сканирования
Для полного описания режимов сканирования, читай те блог разработчика: http://lcamtuf.blogspot.com/2010/11/understanding-and-using-skipfish.html

Отключить  brute-force метод сканирования:
./skipfish -W /dev/null -LV [...other options...]

В данном режиме skipfish будет выполнять простое сканирование. Автор пишет, что в данном случае skipfish будет вести себя как другие сканеры и рекомендуется для использования. Так же автор говорит, что не будут найдены части сканируемого сайта, цитата:
 resources such as /admin/ or /index.php.old may not be discovered

Ограниченное сканирование:
Задается опцией -Y
./skipfish -W dictionary.wl -Y [...other options...]


Полный brute-force:
Мы уже рассмотрели полный брут-форс:
./skipfish -W dictionary.wl [...other options...]


Список URL в файле:
$ ./skipfish -o output_dir @/path/to/url_list.txt


Cookie файлы:
-C name=val


Для HTTP аутентификации:
-A user:pass


Исключение URL из сканирования:

-X /logout/logout.aspx
Необходимо для исключения например выхода из аккаунта и удаления cookie файлов, ускорения сканирования исключая директории с медиа файлами.
Части URL задаются через запятую:
/icons/, /doc/, /manuals/


Добавление доменов для сканирования:

Опция -D, например:

./skipfish -D test2.example.com -o output-dir http://test1.example.com/

Для всех под-доменов:

-D .example.com


Междоменое взаимодействие:
skipfish может "ругаться"  и заявлять об проблемах в безопасности при междоменном взаимодействие, например принимая или отсылая информацию с помощью ЯваСкрипт. Если вы доверяете определенным доменам, то их можно исключить:
./skipfish -B .google-analytics.com -B .googleapis.com other parameters



Изменение заголовков:

В документации сказано, что с помощью опции -H, можно изменять заголовки сообщений, например  User-Agent, но как это сделать пример не приводится. Так же говорится, что используя опцию -b можно изменять User-Agent или -b ffox эмуляции браузера FireFox

Вообще нужно вникать в:







Комментариев нет:

Отправить комментарий