- PVSM.RU - https://www.pvsm.ru -
С данной темой доклада я выступал [1] на CodeFest. А здесь я перескажу словами, что, как и зачем.
Доклад довольно поверхностный и не требует практически никакой квалификации в области ИБ. Был рассчитан на целевую аудиторию (веб-разработчики, тестировщики (не на проникновение), сисадмины и т.д.). Все довольно просто: несколько утилит, запустили, подождали, разбираем отчет.
Видеоприглашение на конференцию:
«Пентест» (тестирование на проникновение) — оценка безопасности конечного узла или ресурса средствами и методами «злоумышленников» © Wiki [2]. Отличия от хакинга в том, что у него (хакинга) задача найти любую уязвимость для требуемых целей, раскрутить и проэксплуатировать. Здесь же — комплексный анализ цели.
Цель — автоматизировать тестирование на проникновение сетевого ресурса по стратегии «черного ящика», получив объективные результаты, не потратив ни цента на ПО.
Разобьем проверку на 2 этапа:
Будем искать уязвимости, проверять вышедшие эксплойты, искать «слабые» аккаунты, ошибки конфигурации, а так же просто человеческую халатность.
Armitage — это GUI к Metasploit Framework и Nmap. Визуализирует цели, собирает данные, позволяет в целом упростить процесс взлома пентеста.
Чтобы себе более четко представили, о чем идет речь, вот скрин:
Modules (синим) — выбор эксплойтов и пост-эксплойтов (применяются уже после того, как удалось установить сессию. К примеру — получить дамп конфигов).
Targets (оранжевым) — собственно, цели. В зависимости от статуса цели, меняется её иконка. Если вы только добавили нужный хост и о нем ничего не известно — будет просто «черный» монитор или иконка оборудования. Если удалось установить ОС — появится иконка ОС. И «последнее» состояние — иконка в красной рамочке с молниями — один из эксплойтов сработал, удалось установить shell-сессию.
Tabs (зеленым) — консоль текущей активности задач
Перейдем к процесссу.
После завершения работы модуля Hail Mary нас ожидает два результата. Или эксплойт(ы) сработал(и) и сессия(и) создана(ы)
Или нет
После проверки запущенных сетевых сервисов, проверку на устойчивость к паблик-эксплойтам можно так же проверить дефолтовые/распространные аккаунты. Для этого выберите в меню цели Login -> класс сервиса -> галку «Check all credentials» -> Launch.
Armitage, Metasploit Framework входит в состав Metasploit, который можно скачать тут [7]. Момент: после установки просто 1 раз запустите консоль фреимворка и закройте ее (инициализация начальных данных). После этого стартуйте Armitage и разрешите ему стартануть RPC-сервер metasploit'a.
Момент. о Nikto и Skipfish я рассказывал в статье Обзор бесплатных инструментов для пентеста web-ресурсов и не только v2 [8]
Nikto — perl'овая утилита, для поиска брешей типа неудаленных файлов (/1.php /info.php), наличия скриптов управления БД (phpmyadmin, phppgadmin и т.п.), да и просто уязвимых скриптов. Вот с последним у нее довольно туго, так как проверка идет просто отправкой нужного HTTP запроса и смотрится на код ответа (404/200), а не то, что действительно ли подвержен скрипт какому-то уже вышедшему эксплойту.
P.S. На самом деле, давно не обновляется, нужно искать замену (или дорабатывать)… Пока в курсе только платных аналогов.
Страница продукта — www.cirt.net/nikto2 [9]
skipfish
Сканер веб-скриптов на предмет уязвимостей от Google (теперь над ним трудится не только Michal Zalewski [10]). Ищет все что можно, сколько можно (было дело почти 5 суток), жрет трафик и как итог генерирует отчет в html5. Учтите, я пару раз им положил сервера, вызвав отказ в обслуживании, переполнив /tmp (при каждом обращении php создавал сессии).
Исходники качаем тут [11], а собранный под win можно скачать здесь [12] (упоминал в этой [13] статье).
[14]
[15]Havij — находит и раскручивает SQL-инъекции. Вообще, штука must have, работает четко, быстро, обходит некоторые фильтры (хотя было дело, один банальный WAF не обошел, проверялся на CTF в этой [16] задаче). Существует две версии — платная и бесплатная. Отличаются по функционалу. И одна из самых нужных фич — это поиск инъекции в параметре с ЧПУ, типа
site.com/users/sql_inj/topics
которой нет в бесплатной версии. Больше особо рассказывать нечего, у программы есть GUI, все предельно понятно и удобно :)
Скачать можно тут [17]
1337day.com / exploit-db.com
В основном предназначены при ситуации, когда на целевом ресурсе найдены распространяемые скрипты. Заходим на сайты выше и ищем под них эксплойты, и поочередно запускаем (эдакий Hail Mary из Armitage). Стоит учесть момент, что чаще уязвимы плагины к скриптам, нежели сами скрипты.
Еще, при анализе веба может случиться так, что есть «соседнее» уязвимое приложение, и через него можно получить доступ к анализируему и слить ту же базу, заразить вирусом или провести дефейс.
Тулз немеренно, перечислять топ-сек-лист [18] смысла нет, но некоторые «комбайны» нельзя не назвать. Правда, они уже косвенно относятся к нашей теме (помните про 0 центов за ПО?), но можно попробовать получить Shareware версию.
MaxPatrol / XSpider — отечественный продукт от компании Positive Technologies [19], чьи сотрудники тоже пишут [20] на Хабрахабре. XSpider (7.8) это урезанная версия MaxPatrol. Практически ничего общего не имеет с предыдущими версиям в 7ой ветке (странно, что не сменили major версию, ведь есть все основания для этого). Вебинар про XSpider 7.8 (от Олега Матыкова, руководителя отдела проектных решений Positive Technologies) можно поглядеть тут [21] (pdf [22]).
Вообще хотелось бы сказать пару слов про новый XSpider. Как минус бы я вынес интерфейс, уж больно он перегружен и непродуман (имхо). Но, понятное дело, что от продукта нам нужно другое, вот как раз сканирование включает в себя практически всю статью выше, исключая некоторые моменты (к примеру — skipfish самообучаем, и чем чаще вы его запускаете, тем больше его словарь), правда это компенсируется просто с головой постоянными новыми билдами продукта. Сам он напичкан-перепичкан ну просто всем, чем можно. Словари для брутфорса тоже порадовали. Вообще, мне как-то недавно удалось им найти уязвимость на ресурсе (один из самых популярных в рунете), о которой я слышал я только мельком и ни один другой сканер ее не находил. Shareware версию с ограничениями на количество хостов можно получить, обратившись в отдел продаж PT, и уже опробовать на своих ресурсах.
Acuentix
Веб-сканер, удобен для начинающих, очень понятный интерфейс. Полную версию так же можно попросить у отдела продаж, они очень отзывчивые. Только учтите, что потом просто завалят вам почту — «как вам наш продукт?», «не хотите купить?» и т.п.
Nessus (OpenVAS)
Nessus и его бесплатный аналог OpenVAS. Назвал бы их эксплойт-машины :) Nessus home-версия — бесплатна, а OpenVAS сам по себе бесплатен.
Конечно же руками, ручной анализ никто не отменял. Он напрямую зависит от рук и знаний проверяющего, немного от удачи, а так же немного от «энергетического взлома», о котором нигде не найдешь статей. Но это уже не тема нашей статьи (доклада).
Идеальный случай
Это, конечно же, статистический анализ кода. Обычно я делаю это регулярками (хотя делал то 2 раза в жизни, больно трудоемкий процесс и не всегда возможный), типа grep -nr «exec» ./ и анализа полученного результата. Хотя и для этого есть тоже скрипты, но обычно они не применимы, так как они в большинстве своем устарели и предназначены для проектов не на фреимворках (прошли те времена, когда писали без них).
Наверное даже больше опыт использования утилит выше.
1. Blackbox, проверен весь сайт, найдены такие вещи как CSRF/XSS, но ничего такого, чем бы можно было «сковырнуть» ресурс полностью.
Armitage->Host->Login->ftp->check all credentials
И находится anonymous:anonymous, смотрящий по ошибке в /var/www
2. Вроде, 5 суток я убил тогда, покидая ПК только на сон и еду. CSRF/XSS/phpmyadmin, установленный скорее всего пакетным менеджером, так как был в нижнем регистре и прописанный в алиасах апача (соответственно администратор не видел этого скрипта в public html). PMA неуязвимый (версия была уязвима, но были не те условия). И ничего… уже расстроился :) Skipfish отвалился (как раз случай с DOS ресурса из-за сканирования). Ресурс подняли, skipfish сканит снова и находит брутом…
site/scripts/config.ini
Бинго! .ini файл, который отдается апачем как plain text с конфигами подключения к базе! Как узналось позднее, использовался для какого-то cron-скрипта. Используем в по ошибке поставленным PMA.
На этом у меня все, а как бонус — демо использования Havij и Armitage.
Автор: BeLove
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/5114
Ссылки в тексте:
[1] выступал: http://codefest.ru/program/2012-03/pentest-on-steroids/
[2] Wiki: http://ru.wikipedia.org/wiki/%D0%98%D1%81%D0%BF%D1%8B%D1%82%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%BD%D0%BE%D0%B2%D0%B5%D0%BD%D0%B8%D0%B5
[3] Scan: http://i39.tinypic.com/dy22qt.jpg
[4] Find Attacks: http://i42.tinypic.com/24y8gwn.png
[5] Hail Mary: http://i42.tinypic.com/2n9xjxf.jpg
[6] так: http://i42.tinypic.com/vckkp.jpg
[7] тут: http://www.metasploit.com/download/
[8] Обзор бесплатных инструментов для пентеста web-ресурсов и не только v2: http://habrahabr.ru/post/125317/
[9] www.cirt.net/nikto2: http://www.cirt.net/nikto2
[10] Michal Zalewski: http://en.wikipedia.org/wiki/Micha%C5%82_Zalewski
[11] тут: http://code.google.com/p/skipfish/downloads/list
[12] здесь: http://shinnai.altervista.org/tools/cygwin_skipfish-2.05b_for_windows.rar
[13] этой: http://habrahabr.ru/post/141698/
[14] Image: http://lcamtuf.coredump.cx/skipfish-screen.png
[15] Image: http://i43.tinypic.com/2n1gn6h.jpg
[16] этой: http://sibears.ru/labs/ndh2k12_prequals_shortener/
[17] тут: http://itsecteam.com/en/projects/project1_page2.htm
[18] топ-сек-лист: http://sectools.org/
[19] Positive Technologies: http://ptsecurity.ru/
[20] тоже пишут: http://habrahabr.ru/company/pt/blog/
[21] тут: http://my.comdi.com/record/40837/
[22] pdf: http://ptsecurity.ru/ics/%D0%9E.%D0%9C%D0%B0%D1%82%D1%8B%D0%BA%D0%BE%D0%B2_XSpider_7.8.pdf
Нажмите здесь для печати.