XSpider за световната мрежа

световната

Тази публикация продължава поредица от статии, предназначени да запознаят читателя с особеностите на използването на скенера за уязвимост XSpider и е посветена на въпросите за оценка на сигурността на уеб приложенията. .

Андрей Абрамов, експерт по информационна сигурност в Positive Technologies

Една от отличителните черти на скенера XSpider е наличието на модул за евристичен анализ на уеб приложения. Разбира се, има специализирани скенери за уеб приложения като Nikto, но те нямат способността да откриват недостатъци в други услуги. От друга страна, скенерите с общо предназначение като Nessus имат изключително ограничени възможности за намиране на уязвимости на порт 80. XSpider съчетава възможностите на двата вида скенери.

Преглед на характеристиките

По отношение на анализирането на уеб приложения, XSpider поддържа следните функции:

  • автоматично откриване на уеб приложения на произволни портове;
  • работа със SSL/TLS;
  • автоматичен индексатор на сайтове с поддръжка за търсене в скрити директории и архиви на файлове (Принудително сърфиране);
  • поддръжка за основни схеми за удостоверяване и нестандартни схеми за удостоверяване;
  • автоматично проследяване на сесията;
  • търсене на уязвими и злонамерени скриптове (например php-shell) по съдържание на страницата;
  • евристична идентификация на основните видове уязвимости в уеб приложения;
  • идентифициране на уязвимости в полетата на заглавката на HTTP заявка.

Настройка на профила

Ключът към доброто сканиране е правилно конфигуриран профил. Профилът определя логиката на скенера, както и методите, използвани за търсене на уязвимости.

Конфигуриране на индексатора на сайта

За да активирате механизмите за търсене на уязвимости, на първо място, трябва да активирате функцията за анализ на съдържание (Профил - Общи настройки - Скенер за уязвимост - Откриване на уязвимост - HTTP - активиране на анализатор на съдържание).

Разделът „Content Analyzer“ (Профил - общи настройки - скенер за уязвимости - откриване на уязвимости - HTTP - анализатор на съдържанието) съдържа основните настройки на индексатора.

Параметърът "начална страница на анализатора" ви позволява да посочите от кой от разделите на уеб сървъра да започнете да индексирате. Ако опцията „не напуска стартовата директория“ е активирана, тогава скенерът ще анализира само скриптове, разположени на посочения път и по-долу. Тези настройки са полезни, когато трябва да анализирате определен раздел от уеб сървър или конкретен сценарий. Освен това те могат да се използват за разделяне на проверката на големи уеб сървъри на няколко задачи, което улеснява по-късното анализиране на резултатите. Параметърът "използвайте заявка за начална страница от файл" се отнася до механизмите за удостоверяване и ще бъде обсъден допълнително.

Опциите „използване на речник при събиране на съдържание“ и „търсене на стари файлове“ включват механизъм за намиране на скрити файлове и папки. Търсенето се извършва в обширен вграден речник, съдържащ общи имена на файлове и разширения. Този механизъм, въпреки своята простота, може да бъде много ефективен инструмент. Експертите на Positive Technologies трябваше да се справят със ситуации, когато просто търсене по име позволяваше достъп до сървърните бази данни (например /database/database.mdb) или до архиви на изходните текстове на сайтове.

В допълнение към настройките в графичния интерфейс е възможно да персонализирате индексатора, като редактирате конфигурационните файлове. Тези файлове се намират в папката "\ Profiles \ Http" на работната директория на скенера (например "C: \ Program Files \ Positive Technologies \ XSpider 7.5"). Файлът AdditionalUrls.txt съдържа пътищата до папки и скриптове, които трябва да бъдат добавени към контролния списък. Тази опция е полезна за проверка на уеб сайтове, които използват технологии от страна на клиента, които е трудно да се анализират автоматично (например Java, Flash и др.). За да съберете списък със скриптове в този случай, можете да използвате различни HTTP sniffers или прокси сървъри, например WebScarab (http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project). Също така свързан с индексатора е файлът RequestIgnore.txt. В него се въвеждат пътища и скриптове, които не трябва да се обработват от индексатора и съответно търсенето на уязвимости в тях няма да се извършва.

Тези настройки могат да се използват за различни цели. Например, ако сайтът реализира собствен механизъм за удостоверяване, тук могат да се въведат скриптове за изход, така че скенерът да не прекъсва собствената си сесия. Също така тук могат да бъдат включени скриптове, чието автоматично изследване може да доведе до нежелани последици. Например - доведе до предаване на голям брой имейл или SMS съобщения. Според Positive Technologies обаче използването на такива сценарии без допълнителни тестове на Тюринг е неефективна уязвимост срещу автоматизацията.

Механизми за удостоверяване

Настройките за удостоверяване се намират в раздела „Профил - Общи настройки - Скенер за уязвимости - Откриване на уязвимости - HTTP - Упълномощаване“. Тук можете да посочите потребителското име и паролата, използвани за основно удостоверяване.

Активирането на опцията „използване на разширени речници за влизания и пароли“ активира механизма за отгатване на паролата (вижте статията „Грубата сила е ужасна сила!“, Http://www.securitylab.ru/analytics/286762.php). В текущата версия на XSpider отгатването на пароли се поддържа само за основно удостоверяване. В случай, че сървърът използва свои собствени механизми за удостоверяване, можете да използвате една от двете опции.

Първият е да използвате вашата собствена заявка за стартиране (Профил - Общи настройки - Скенер за уязвимост - Откриване на уязвимости - HTTP - Анализатор на съдържание - използвайте заявка за началната страница от файл). В този случай файлът ("\ Profiles \ Http \ Request.txt") указва HTTP заявката, използвана от скенера при първия достъп до сайта. Можете да получите съдържанието на заявката, използвайки всеки мрежов анализатор или HTTP генератор на заявки.

В този случай потребителят носи отговорност за коректността на генерираната HTTP заявка, тъй като скенерът ще я използва "както е", без никакви модификации.

Set-Cookie: yafolder = 10537279% 3A1290000000001899275; домейн = .yandex.ru; път = /;

В този случай HTTP заглавките се добавят към файла \ Profiles \ Http \ RequestAdd.txt, който ще се изпраща във всяка HTTP заявка. Пример за такива заглавки биха били настройките за бисквитки, зададени от сървъра след влизане.

Търсене на уязвимости

В раздела „Профил - Общи настройки - Скенер за уязвимост - Определение за уязвимост - HTTP - Анализатор на скриптове“ можете да посочите кой от HTTP методите ще се използва по време на евристични проверки.

Опцията "сложна проверка на скриптове за приложения" се използва за работа със сървъри, които използват нестандартна схема за именуване на заявки. Например предаване на параметрите на заявката не след „?“.

Разделът Видове уязвимост ви позволява да посочите кои типове уязвимости на уеб сървъра ще бъдат открити.

Настройките в раздела Методи за търсене ви позволяват да използвате рядко използвани полета, като заглавката Referer, при търсене на уязвимости. Активирането на тези проверки увеличава общото време за тестване и натоварването на мрежата.

Работна логика

Ако по време на сканирането на порта е идентифициран уеб сървър, той търси уязвимости, които съответстват на типа сървър (Internet Information Server, Apache и др.) И инсталирани разширения (FrontPage, OpenSSL и др.).

След изграждането на картата на сайта, скенерът преминава в режим на сканиране на уязвимости, които се показват в програмната конзола при откриването.

Описанието на уязвимостта съдържа съдържанието на HTTP заявката и отговора, които доведоха до заключението, че е имало проблем.

Заключение

Естествено, не трябва да мислите, че дори и най-добрият скенер може да открие всички уязвимости в уеб приложенията. Често уязвимостта се съдържа в логиката на приложението, за която скенерът няма представа. Според статистиката, получена от Positive Technologies по време на тестовете за проникване и оценките на сигурността на уеб приложенията, средно скенерът открива около 70% от уязвимостите.