К содержанию

блог Дорофеева

Единственное верное мерило вашего успеха — это то, что вы делаете, в сравнении с вашим действительным потенциалом (Пол Мейер)



Одним из наиболее распространенных видов аудита информационной безопасности является тестирование на проникновение.

В чем оно заключается? Зачем оно необходимо? Какие виды тестирования на проникновение бывают? Какие используются методологии и программные средства для проведения тестов?

Что такое тестирование на проникновение?

Тестирование на проникновение представляет собой набор мероприятий по выявлению уязвимостей информационных ресурсов. Сразу хочу отметить, что тестирование на проникновение не является демонстрацией возможности использования одной единственной уязвимости, позволяющей проникнуть в сеть компании. Целью тестирования является выявление максимально возможного количества реальных брешей в системе защиты.

Почему тестирование на проникновение дает более качественные результаты, чем простое сканирование на наличие уязвимостей?

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

Зачем необходимо тестирование на проникновение?

Тестирование на проникновение позволяет получить достаточно объективную оценку уровня защищенности корпоративной сети.

Виды тестирования на проникновение

Внутреннее тестирование на проникновение

В ходе внутреннего тестирования на проникновение имитируется попытка взлома корпоративных информационных систем из внутренней сети. Целью аудитора является получение доступа к системам или к определенной информации. На своем сайте мы описали основные этапы внутреннего тестирования на проникновение и привели ссылки на часть используемых программных средств.

Сценарий успешного проникновения в ходе внутреннего тестирования может выглядеть следующим образом:

  1. Аудиторы начинают тестирование с ИТ-инфраструктуры и “прощупывают” контроллер домена.
  2. Выясняется, что контроллер домена позволяет получить перечень учетных записей пользователей через нулевую сессию или анонимный доступ к LDAP.
  3. Аудиторы запускают проверку использования самых распространенных паролей и находят административную учетную запись с паролем “administrator”.
  4. С помощью учетной записи администратора получают хэши паролей всех пользователей домена и осуществляют их взлом.
  5. Далее идет поиск конфиденциальной информации на рабочих станциях пользователей и попытки проникнуть в другие системы, используя те же самые пароли.

Очень часто в ходе внутреннего тестирования на проникновение проводится тестирование защищенности беспроводной сети.

Внешнее тестирование на проникновение

В ходе внешнего тестирования на проникновения аудитор выступает в роли внешнего злоумышленника пытающегося проникнуть в сеть компании из сети Интернет. Как правило, на начальном этапе аудитор ничего не знает о компании, кроме ее названия. На нашем сайте приведено описание основных этапов внешнего тестирования на проникновение.

Возможный сценарий успешного проникновения в ходе внешнего тестирования:

  1. В ходе сканирования на наличие уязвимостей аудиторы обнаруживают уязвимую версию ftp-сервера.
  2. Использование уязвимости позволяет получить удаленную командную строку с правами администратора.
  3. Получив доступ сначала в демилитаризованную зону, а потом и во внутренний сегмент сети, аудиторы применяют подход внутреннего тестирования на проникновение.

В ходе внешнего тестирования аудиторы часто проводят анализ защищенности Web-приложений.

Тестирование на проникновение с использованием методов социальной инженерии

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

Возможный сценарий подобного тестирования на проникновение:

  1. Аудиторы обнаружили Интернет-портал, используемый для предоставления удаленного доступа к внутренним ресурсам. Выбирается вариант тестирования с применением фишинг-атаки.
  2. Из социальных сетей, таких как Linedin и Мой круг извлекаются данные о сотрудниках компании: имя и должность. Формируется перечень адресов электронной почты.
  3. Устанавливается web-сервер, на котором размещается форма для смены пароля, требующая ввода старого пароля. Дизайн страницы совпадает с дизайном портала.
  4. Сотрудникам бизнес-подразделений высылается письмо с просьбой пройти по ссылке и сменить пароль. Сообщение отсылается от имени определенного ИТ-специалиста, а в качестве адреса отправителя используется какой-либо несуществующий адрес, например itsupport@название_компании.ru Письмо подготавливается в html-формате, который позволяет скрыть некрасивый IP-адрес сервера аудиторов за красивой ссылкой на реальный сервер.
  5. В случае успеха аудиторы получают пароли пользователей и отмечают в своем отчете еще один недостаток.

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

Некоторые приемы тестирования

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

 

Методологии

В данном разделе дан краткий обзор наиболее полезных методологий по проведению тестирования на проникновение.

Information Systems Security Assessment Framework (ISSAF)

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

Ссылка: http://www.oissg.org/information-systems-security-assessment-framework-issaf.html

NIST 800-42 Guideline on Network Security Testing

Уровень детализации меньше, чем в предыдущем документе. Особое внимание уделено процессу организации тестирования в компании. Документ рассчитан на ИТ-менеджеров и непосредственных исполнителей.

Ссылка: http://csrc.nist.gov/publications/nistpubs/800-42/NIST-SP800-42.pdf

Open Source Security Testing Methodology Manual (OSSTMM)

Помимо описания процессов тестирования приведены полезные шаблоны документов, которые можно использовать при документировании результатов.

Ссылка: http://www.isecom.org

OWASP Testing Guide

Руководство содержит детальное описание процесса тестирования защищенности Web-приложений. Документ рассчитан, прежде всего, на непосредственных исполнителей.

Ссылка: http://www.owasp.org

Wireless Penetration Testing Framework

Схема тестирования защищенности беспроводных сетей с описанием конкретных команд. Рассчитана на непосредственных исполнителей.

Ссылка: http://wirelessdefence.org

Отчет с результатами тестирования на проникновение

По результатам тестирования готовится отчет, который, как правило, содержит:

  • краткое резюме для руководства;
  • описание границ тестирования и проведенных проверок,
  • скриншоты, подтверждающие наличие уязвимостей, факта проникновения;
  • описание обнаруженных уязвимостей;
  • описание рисков информационной безопасности, связанных с обнаруженными уязвимостями;
  • рекомендации по устранению уязвимостей.

Программные средства для проведения тестирования на проникновение

В ходе тестирования на проникновение, как правило, используются свободно распространяемые программные средства.

На мой взгляд, самым лучшим сборником подобных утилит, является Linux Live CD Backtrack

Самым популярным доступным сканером уязвимостей остается Nessus

Литература

Лучше всего приемы тестирования на проникновение описаны в следующих книгах, которые без труда можно найти в книжных магазинах:

  • “Секреты хакеров. Безопасность Microsoft Windows Server 2003” — готовые решения, Джоел Скембрей, Стюарт Мак-Клар; 512 стр., с ил.; 2004, 3 кв.; Вильямс
  • “Секреты хакеров. Безопасность сетей — готовые решения”, 4-е издание, Стюарт Мак-Клар, Джоэл Скембрей, Джордж
    Курц; 656 стр., с ил.; 2004, 2 кв.; Вильямс
  • “Секреты хакеров. Безопасность Linux — готовые решения”, 2-е издание, Брайан Хатч, Джеймс Ли, Джордж Курц; 704 стр., с ил.; 2004, 1 кв.; Вильямс
  • “Секреты хакеров. Безопасность Web-приложений” — готовые решения, Джоел Скембрей, Майк Шема, Йен-Минг Чен, Дэвид Вонг; 384 стр., с ил.; 2003, 1 кв.; Вильямс

Следующие книги также являются очень полезными, но пока доступны только на английском языке:

  • No Tech Hacking: A Guide to Social Engineering, Dumpster Diving and Shoulder Surfing, Johnny Long;
  • Google Hacking for penetration testers, Johnny Long;
  • Nessus Network Auditing, Russ Rogers;
  • The web application hacker’s handbook, Dafydd Stuttard, Marcus Pinto

Александр Дорофеев

Related Posts

  1. Тестирование на проникновение Windows 2003 Server. Часть 2. Попытка получить списки пользователей.
  2. Тестирование на проникновение Windows 2003 Server. Часть 1. Сканирование портов.
  3. Каталог компаний, оказывающих услуги по тестированию на проникновение
  4. Интересный способ продвижения услуг по тестированию на проникновение
  5. Случайный тест на проникновение

Метки: