суббота, 30 июля 2011 г.

Аудит web-ресурсов и не только




Вопрос безопасности всегда будет актуальным, особенно в Сети. По этому, чтобы в один прекрасный день не получить на своем ресурсе такую картинку нужно уметь проверять на предмет уязвимостей себя самого.



Под катом — краткий обзор и типовые примеры использования бесплатных утилит, которые помогут (а точнее уже во всю помогают) хакерам, администраторам, разработчикам, тестировщикам проверить свои ресурсы конкурентов в автоматизированном режиме.



У статьи довольно низкий порог вхождения для понимания и использования, по этому, надеюсь, придется по душе многим. Раскрывается лишь базовый функционал программ.







Приступим



Перед началом хотел бы обратить внимание на список Top 100 Network Security Tools и Top 10 Web Vulnerability Scanners. Возможно, они уже устарели, но многие из утилит еще живы и можно пробовать их использовать.



1) Nmap


Nmap («Network Mapper») это бесплатная утилита с открытым исходным кодом для анализа сети и аудита безопасности систем. Яростные противники консоли могут использовать Zenmap, это GUI к Nmap'у.

Это не просто «умный» сканер, это серьезный расширяемый инструмент (из «необычных фишек» — наличие скрипта для проверки узла на наличие червя "Stuxnet" (упоминалось тут). Типовой пример использования:



nmap -A -T4 localhost



-A для определения версии ОС, сканирования с использованием скриптов и трассировки

-T4 настройка управления временем (больше — быстрее, от 0 до 5)

localhost — целевой хост

Что-нибудь по жестче?



nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost



Это набор опций из профиля «slow comprehensive scan» в Zenmap. Выполняется довольно долго, но и дает в итоге более детальную информацию, которую можно узнать о целевой системе. Справочное руководство на русском языке, если решили углубиться, а так же советую перевод статьи Beginner's Guide to Nmap.

Nmap получил статус “Security Product of the Year” такими журналами и сообществами как Linux Journal, Info World, LinuxQuestions.Org и Codetalker Digest.

Интересный момент, Nmap можно увидеть в фильмах «Матрица: Перезагрузка», «Крепкий орешек 4», «Ультиматум Борна», «Хоттабыч» и других.



2) Tenable Nessus®


Tenable Nessus® vulnerability scanner — очень мощный сканер. Расскажет о доступных запущенных сервисах на целевой системе, проверит на наличие возможно неправильной конфигурации (в области безопасности), скажет какие для них (сервисов) есть эксплоиты и другое. Единственное — бесплатная версия «home only», как раз для нашей статьи ;)



Использование:

  • Скачали (под свою систему), установили, зарегистрировали (ключик приходит на почту).

  • Запустили сервер, добавили юзера в Nessus Server Manager (кнопка Manage users)

  • Заходим по адресу
    https://localhost:8834/
    и получаем флэш-клиент в браузере

  • Scans -> Add -> заполняем поля (выбрав подходящий нам профиль сканирования) и жмем Scan

Через некоторое время отчет о сканировании появится во вкладке Reports

Для проверки практической уязвимости сервисов к эксплоитам можно использовать Metasploit Framework или попробовать найти эксплоит (к примеру на Explot-db, packet storm, explot search и др.) и использовать вручную его против своей системы



3) Acunetix Web Vulnerability Scanner


Acunetix Web Vulnerability Scanner — по ссылке заметно что это xss сканер, но это не совсем так. Бесплатная версия, доступная по ссылке дает довольно большой функционал. Обычно человека, запустившего этот сканер первый раз и впервые получив отчет по своему ресурсу охватывает небольшой шок, и вы поймете почему, сделав это. Это очень мощный продукт для анализа просто всевозможных уязвимостей на сайте и работает не только с привычными нам сайтами на php, но и на других языках (хоть отличие в языке не показатель). Инструкцию описывать особо смысла нет, так как сканер просто «подхватывает» действия пользователя. Что-то похожее на «далее, далее, далее, готово» в типичной установке какого-либо ПО.



4) Metasploit Framework


The Metasploit® Framework — эдакий монстр в нашем деле. Он столько умеет, что инструкция выйдет на несколько статей. Мы рассмотрим автоматический эксплоитнг (nmap + metasploit). Суть такова, Nmap проанализирует нужный нам порт, установит сервис, а metasploit попробует применить к нему эксплоиты, исходя из класса сервиса (ftp, ssh и т.п.). Так как я обещал низкий порог вхождения, вместо текстовой инструкции я вставлю видео, довольно популярное на тему autopwn





Хотите больше? Тогда сюда



5) Nikto


Nikto это Open Source (GPL) веб-сканер. Избавляет от рутинной ручной работы. Ищет на целевом сайте неудаленные скрипты (какие-нибудь test.php, index_.php и т.п.), инструменты администрирования бд (/phpmyadmin/, /pma и подобные) и т.д., то есть проверяет ресурс на самые частые ошибки, возникшие обычно из-за человеческого фактора.

Плюс, если находит какой-нибудь популярный скрипт, то проверяет его на вышедшие эксплоиты (которые есть в базе).

Сообщает о доступных «нежелательных» методах, типа PUT и TRACE

Ну и так далее. Очень удобно, если ты работаешь аудитором и каждый день проводишь анализ сайтов.

Из минусов хотел бы отметить высокий процент ложных срабатываний. К примеру если ваш сайт вместо 404 ошибки (когда она должна возникнуть) отдает все время главную, то сканер скажет, что на вашем сайте все скрипты и все уязвимости из его базы. На практике такое не так часто встречается, но как факт, многое зависит от структуры вашего сайта.

Классическое использование:



./nikto.pl -host localhost



Если нужно быть авторизованным на сайте, можно выставить cookie в файле nikto.conf, переменная STATIC-COOKIE.



Есть, конечно, еще утилиты, по этому я привел 2 ссылки на топы программ в этой сфере в самом начале статьи. Но я не могу умолчать о нашем отечественном продукте MaxPatrol от Positive Technologies, выпустивших такой нашумевший продукт как XSpider. Данный софт является платным, поэтому его нет в обзоре.



Послесловие



Отдельной статьи заслуживает тема частых ошибок разработчиков (низкая или отсутствие фильтрации входящих данных, directory indexing, заливка папки docs вместе со скриптами и др.), автоматизирование аудита исходного кода («белого ящика»), а так же почему нужно проверять даже популярные Open Source скрипты своими руками. Если тема будет востребована — постараюсь через некоторое время написать соответствующую статью.









Источник: Хабрахабр - Информационная безопасность
Оригинальная страница: Аудит web-ресурсов и не только

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

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