Обзор бесплатных инструментов для аудита 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
    Метки:
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

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

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