Pull to refresh

Обзор бесплатных инструментов для аудита web-ресурсов и не только

Reading time4 min
Views39K

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

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

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



Приступим


Перед началом хотел бы обратить внимание на список 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
Tags:
Hubs:
Total votes 189: ↑174 and ↓15+159
Comments43

Articles