Обзор бесплатных инструментов для аудита 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
    • НЛО прилетело и опубликовало эту надпись здесь
        +26
        И не только свои ;)
        +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 – это проект, объединяющий в себе большое количество фаззинг-баз, упорядоченных по своему назначению.
                                                **впрочем сюда можно добавить ещё некоторое кол-во файзеров.

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

                                                Самое читаемое