Опубликован: 20.02.2007 | Доступ: свободный | Студентов: 3277 / 705 | Оценка: 4.42 / 4.03 | Длительность: 40:03:00
Лекция 8:

Средства взлома Web-приложений Hacking Tools

Пример из жизни. Обнаружение попыток вторжения

Как администратор, вы, должно быть, сканируете свои Web-серверы на уязвимость. Это часть вашей рутинной работы. Всегда лучше обнаружить собственные уязвимости до того, как это сделает кто-либо другой. С другой стороны, откуда вы можете знать, что кто-то использует эти средства против вас? Конечно, может помочь IDS, но у IDS есть несколько недостатков: они не могут справиться с высоким диапазоном частот, полагаются на свойство сопоставления с образцом, не могут (в большинстве) видеть закодированные потоки SSL. Кроме того, они дороги. Ответ в данном случае - обратитесь к своим файлам протоколов (logfiles). Вы же включили журнализацию на своем Web-сервере, не так ли?

Общие автографы. Файлы протоколов (Logfiles) - это средство безопасности. Они реакционны, а это означает, что если вы увидите автограф взлома в своем файле, то знаете, что вы уже атакованы. Если атака подвергла сервер риску, протоколы Web будут первым местом, куда следует обратиться, чтобы воссоздать события. Протоколы также помогают администраторам и программистам проследить ошибки и поврежденные страницы на Web-сайте - это необходимо для поддержания стабильности Web-сервера. Помня об этом, вы должны практиковать регистрацию на Web-сервере и сбор файлов протоколов (logfiles), просматривать их и архивировать.

В следующей таблице перечисляются некоторые позиции, на которые следует обращать внимание при проведении обзора протоколов. Многие из этих проверок могут быть автоматизированы при помощи такого простого средства, как grep.

Excessive 404s Избыток ошибок 404. Ошибка 404 в вашем файле протокола обычно означает одно из трех: опечатка или ошибка на странице сайта, пользователь неправильно набрал URI, или зловредный пользователь ищет "старушек". Если вы видите несколько запросов от IP-адреса, что привело к последовательности ошибок 404, проверьте свои остальные протоколы на этот IP-адрес. Вы можете обнаружить успешный запрос (ответ 200) где-то еще, что свидетельствует о вражеской активности.
Unused file extensions Неиспользованные расширения файлов. Это подмножество избытка ошибок 404, но является хорошим индикатором автоматизированного средства. Если ваш сайт использует только файлы *.jsp, то запросы на файлы *.asp будут не к месту.
Excessive 500s Избыток ошибок 500. Любая ошибка сервера должна проверяться. Это может означать, что в приложении есть ошибки, или зловредный пользователь пытается запустить ошибочные данные на сервер.
Sensitive filenames Чувствительные имена файлов. Поиск в протоколах запросов, которые содержат passwd, cmd.exe, boot.ini, ipconfig или другие имена системных файлов и команд. IDS часто отключают эти значения.
Examine parameters Проверочные параметры. Атаки на Web-сервер часто прячутся внутри запросов, которые возвращают ответ 200. Убедитесь, что ваш Web-сервер регистрирует параметры, которые прошли на URI.
Directory traversal Прохождение директорий. Поиск атак, которые пытаются разрушить такие директории, как :, .., или %2e%2e.
Long strings Длинные последовательности. Ищите длинные последовательности (более 100 знаков), запущенные как параметр. Например, имя пользователя, содержащее 200 символов A, вероятно означает, что кто-то пытается взломать приложение.
Shell characters Признаки работы командного процессора. Ищите символы, которые имеют специальное значение в командных процессорах или SQL. Обычные символы: ' ! | < > & * ;

Помните, что IIS записывает URL в конечном разобранном формате. Например, атака на прохождение директории Unicode появляется как /scripts/..A..A..Acmd .exe?/c+dir, где файл протокола Apache захватывает необработанный запрос /scripts/ ..%c0%af..%c0%af..%c0%afcmd.exe?/c+dir?. При регистрации IIS убедитесь, что опции для записи uri-stem и uri-query выключены.

Stealth

Эта программа работает под Windows с графическим интерфейсом пользователя, и поэтому не обладает, в отличие от whisker возможностями кросс-платформенного использования. Stealth располагает большим количеством тестов и имеет легко расширяемую базу данных. В настоящее время в базе данных программы находится около 13000 тестов, правда, только 5000 из них являются уникальными. Эти тесты были получены в результате сканирования большого количества устройств, имеющих встроенные Web-серверы, обладающих наиболее распространенными типами уязвимостей, свойственных IIS.

Реализация

На рис. 8.1 приведен вид интерфейса для сканирования одного IP-адреса. По умолчанию Stealth использует "нормальное" правило сканирования, которое содержит около 6500 тестов. Эта страница открывается с помощью кнопки Scanner в окне приложения Stealth.

Примечание. Stealth также располагает параметрами для изменения номера порта (по умолчанию 80), при этом SSL-соединение не поддерживается. Задать номер порта 443 недостаточно.

Stealth может сканировать несколько Web-серверов. Тем не менее, как показано на рис. 8.2, для этого должен быть задан список последовательных IP-адресов. Это существенно замедляет сканирование, поскольку программа сначала должна определить Web-сервер, а затем осуществлять его сканирование. Если серверы распределены по сети, то это еще сильнее замедляет процесс.

Сканер Stealth по умолчанию против цели

Рис. 8.1. Сканер Stealth по умолчанию против цели
Stealth сканирует список IP-адресов

Рис. 8.2. Stealth сканирует список IP-адресов

Еще немного о сканировании нескольких Web-серверов: программа постоянно фиксирует ошибки, выдает сообщения об ошибках, требующих, чтобы их закрывали вручную. Короче, Stealth - не лучшее средство для сканирования многих серверов одновременно.

Кнопка IDS Test работает аналогично технике обхода IDS у whisker. Выберите, какую политику вы предпочитаете использовать, а затем отметьте параметр CGI Setup | Use IDS Evasion. На рис. 8.3 показано, как включить обход IDS.

Как только Stealth завершит сканирование, он выдаст запрос на сохранение результатов. Результаты сканирования представляют собой HTML-файл, в котором перечислены все возможные уязвимости, которые были найдены. Stealth - быстрое и простое средство, которое позволяет выполнить 6500 тестов для Web-сервера одновременно.

Обход IDS

Рис. 8.3. Обход IDS