Пользователь
0,0
рейтинг
30 июля 2011 в 22:28

Разработка → Обзор бесплатных инструментов для аудита 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 скрипты своими руками. Если тема будет востребована — постараюсь через некоторое время написать соответствующую статью.

Серия:


Апдейт:
1) Armitage — удобоваримая софтина-прослойка. Работает в связке с metasploit(по RPC) и nmap. Написана на JAVA, использует postgreSQL/mysql. Включена в дистр backtrack с недавнего времени. Чем то напоминает тот же XSpider (в плане не требует особых знаний в ИБ) только более богата функционалом за счет metasploit. © Ierixon
Sergey Belov @BeLove
карма
233,7
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (42)

  • НЛО прилетело и опубликовало эту надпись здесь
    • +26
      И не только свои ;)
  • +1
    А skipfish ( code.google.com/p/skipfish/ ) пробовали? Что про него скажите?
    • +1
      Неприлично большое количество генерируемого трафика (вплоть до нескольких ГБ входящего)
      Очень долгое время работы, из-за рекурсивного обхода сайта
      Результаты не стоят затрачиваемых ресурсов.
      Хотя, когда у тебя на ресурс есть около недели и есть безлимитный трафик — можно и запустить.
      Но мое субъективное — не практичен.
  • +28
    О, тот редкий случай, когда в хаброблоге «Информационная безопасность» публикуется статья, имеющая отношение собственно к InfoSec.
    • +4
      Правда об аудите почти ничего и не сказано. Это обзор инструментов для аудита, и не более того.
      • +1
        Действительно. Смотивировали изменить название топика на более корректное, полностью отображающее суть статьи.
    • +3
      Это вопиющее безобразие. Я считаю, необходимо принять меры.
      • 0
        Я тоже так считаю and I'm dead serious.
  • +3
    Да, было бы интересно почитать примерный сценарий проведения аудита в Отечественных реалиях.
    • 0
      Тут на самом деле все очень субъективно, по этому я пока думаю, как можно преподнести подобный материал.
      И, как правило, если мы все делаем по правилам :), то это еще и анализ «белого ящика», для которого я выработал тоже некоторые подходы, о чем и хотел написать в следующей статье.
  • –1
    Наконец интересная статья в разделе, добавил в избранное и знакомым раскидал ссылки, действительно есть что выбрать здесь для проверки своих ресурсов т.к. раньше о подобных утилитах даже и не знал. Во всяком случае спасибо автору, теперь можно провериться до наступления злополучного «дня Х».

    ps У меня одного при виде человечка в Nikto в голове пролетело «ололо, я нло»?
    • +11
      да
      • –1
        Краткость — сестра таланта ©
  • +1
    Интересная подборка. Metasploit я явно как-то пропустил в своей жизни.
    Только вместо localhost есть смысл проверять извне на внешний интерфейс, так как обычно атаки начинаются оттуда и можно случайно пропустить сервисы, которые на localhost иначе висят либо вообще не висят. Плюс firewall обычно иначе настроен для внешнего интерфейса чем localhost.
  • 0
    А еще неплохо бы уметь настраивать WAF…
  • 0
    похоже благодаря Вашей статье у меня всё таки дойдут руки до метасплоита, спасибо.
    • 0
      Самое главное — это установить все для него и настроить. Я про gem's в частности.
      А дальше — проще, хватает как и видео гайдов, так и просто статей, в том числе и на русском.
  • 0
    Можно Backtrack упомянуть, там «все в одном», насколько я помню.
    • +1
      это целый дистрибутив, ему думаю можно посвятить целую, полноценную статью.
      Там да, ubuntu, уже напичканная всевозможным софтом для тестов на проникновение (и не только вебом едины), тот же Nmap с Metasploit идет в «коробке».
      • 0
        Не вижу что там особенно можно описывать, дистр на базе слакса (по крайней мере, раньше был) с набором софта…
        • 0
          Последние пару версий идут на базе убунту.
  • 0
    Забыли также и про беспроводную область — а там KISMET
    • 0
      беспроводной области — отдельная статья, это был преимущественно web ;)
  • 0
    Забыли упомянуть разнообразные гугл сканеры :-) Хотя бы от Cult of the Dead Cow. Штука простая, но иногда результативная.
  • 0
    Armitage — удобоваримая софтина-прослойка. Работает в связке с metasploit(по RPC) и nmap. Написана на JAVA, использует postgreSQL/mysql. Включена в дистр backtrack с недавнего времени. Чем то напоминает тот же XSpider (в плане не требует особых знаний в ИБ) только более богата функционалом за счет metasploit.
  • +1
    [::::::]
  • 0
    Хм, Nikto нашёл у меня на сервере файл wp-app.log
    Такого файла там нет :)
    Напишу разработчикам…
    • 0
      О, а разработчик сразу и ответил, и мы всё быстро обсудили и решили проблему.
      Мило.
  • 0
    Очень «свежая» статья. Количество восторженных возгласов и добавлений в избранное успокаевает. Люди «побежавшие» тестить свои серваки… Просто диву даешься, какие хакеры тут сидели, и вдруг случайно узнали о nikto, metasploit и остальных. Автор правда забыл написать про сам аудит, но это не буда, толковые ребята и так справятся.
    Просто жесть.
    • 0
      Ну, я в свое время узнал о современных инструментах из похожей статьи, заинтересовался, перерыл кучу ресурсов и уже серьезных, технических, статей. Специалистом не стал, но получил очень интересный опыт. Да и полезно программистам (и не только) увидеть своими глазами чем чреваты «несущественные» ошибки в ПО.
    • +3
      О том, что тут толпа народу — это программеры, не занимающиеся хацкерством чужих серваков, а честно пишущие свой код, которым приходится заниматься администрированием серваков с написанным софтом, Вы, естественно, не догадываетесь?
    • +1
      Ну у вас, наверно, это в генах сидело.
      Как любят некоторые люди презрительно бросить, «ах, как это всё старо и давно известно».
      Забывая, как они всё сами узнавали в первый раз…
  • 0
    А как же Burp?
  • 0
    Единственный в жизни руткит я посадил на сервер, как раз когда запускал всякое г «инструменты тестирования безопасности» из интернета. Be warned.
    • 0
      Это тот эксплоит, который предлагалось скачать под видом средства проверки, скомпилировать и запустить на сервере?
      • 0
        Вряд ли. Это было ещё в прошлом веке.
  • 0
    Еще:

    sqlmap.sourceforge.net/

    Ляля просто.
    • 0
      подобные и не только вещи будут в новой статье на эту же тематику :)
      Было очень много критики, которую я постараюсь учесть и написать статью v2. Она будет уже с более высоким «порогом входа».
  • 0
    так же стоило бы добавить следующие программы\инструменты которые помогают в аудите веб безопасности:

    Havij — Advanced SQL Injection Tool — itsecteam.com/en/news/article8.htm
    софт для раскрутки уже найденной sql уязвимости, поддержка большого кол-ва баз, поиск админки, раскрутка Blind SQL Injector, поиск пасса по хешу.

    Toolza 1.0 — rdot.org/forum/showthread.php?t=1142
    мега-комбаин написанный Пашкелой на perl в виду чего является кросс платформенным.

    PHPFastScanner — rdot.org/forum/showthread.php?t=1160

    Приведу цитату:
    — Сканер создан для выполнения всей рутиной работы при взломе через Reverse-IP.

    Основные возможности:
    *Анализ соседей целевого сайта по Reverse-IP
    *Определение используемых движков (в базе 68 сигнатур)
    *Возможность добавлять свои сигнатуры движков в общую базу (см. FAQ)
    *Поиск phpinfo, phpmyadmin, sypex dumper
    *Сканирование структуры сайта + вложенное сканирование каталогов
    *Наборы словарей для сканирования структуры сайта, разбиты по типу файлов и по популярности
    *Возможность добавлять свои наборы словарей для сканирования структуры сканера (см. FAQ)
    *Метод HEAD сканирования структуры (экономия трафика + увеличение скорости)
    *Определение несуществующих страниц по коду ответа и(!) методом сравнения содержимого с заведомо несуществующей страницей
    *Раздельная обработка разных расширений (уменьшение ложных срабатываний при анализе структуры)
    *Поддержка Keep-Alive соединений (увеличение скорости)
    *Поддержка многопоточности (увеличение скорости)
    *Понятный интерфейс, множество различных настроек, наличие встроенного FAQ
    — [ Web ] Brute Forcer — forum.antichat.ru/thread109600.html
    Брутер для проверки на слабые пассы веб форм.

    fuzzdb (совместно к примеру с Burp Suite ) — code.google.com/p/fuzzdb/
    *FuzzDB – это проект, объединяющий в себе большое количество фаззинг-баз, упорядоченных по своему назначению.
    **впрочем сюда можно добавить ещё некоторое кол-во файзеров.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.