План проведения теста на проникновение. Что такое тестирование на проникновение? Тест безопасности "под ключ"

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

Среди хакеров существует разделение на две категории:

Белые хакеры (White hat) - работают для обеспечения безопасности, противодействуют незаконным вторжениям.

Черные хакеры (Black hat) - переступают закон, похищают персональные данные, опустошают банковские счета.

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

Что входит в пентестинг (тест безопасности)?

В тестирование безопасности компании может входить:
  • Внешний анализ сети и периметра
  • Пентест (тест на проникновение)
  • Внутреннее тестирование сети
  • Поиск уязвимостей и эксплуатация
  • Социальная инженирия
  • Тестирование web-сайтов компании
  • Тестирование мобильных приложений компании
  • Отчет о тестировании и рекомендации

Точный список тестов определяется на этапе переговоров, после изучения потребностей клиента.

Стоимость тестирования на проникновение

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

Стоимость по запросу

Тестирование (пентест) с проникновением

Стоимость по запросу

Тестирование web и мобильных приложений

Стоимость по запросу

Социальная инженирия

Стоимость по запросу

Тест безопасности "под ключ"

Стоимость по запросу

Расследование киберпреступлений

Стоимость по запросу


ВАЖНО

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

Защитите свою компанию от кибер угроз!

Так что же такое пентест?

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


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

Этиология системной уязвимости

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

  • погрешность проектирования,

  • некорректность процесса настройки при выборе низко функциональной конфигурации сочетания ПО и связанного в систему оснащения,

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

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

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

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

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

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

Несмотря на родство цели их использования. А именно, поиск и организация максимально безопасного программного продукта. Работают они по-разному.


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


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


Так определение степени уязвимости представляет собой установленный рабочий процесс. А тестирование проникновением действует «по обстановке» с единой целью максимально сильно воздействовать на системы для выявления прорех в ее защите.

Для чего это нужно

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

Подобный мониторинг позволяет:

  • найти слабые/уязвимые места в системе до того, как они будут подвержены внешним негативным воздействиям и дадут прореху для утечки данных. Это прекрасная альтернатива частых обновлений системы. Потому как последние влияют на сочетаемость и скорость работы ранее отлаженной без их учета системы. Обновления лучше контролировать, чем проводить бесконтрольно;

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

Процесс мониторинга

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

Тестирование в ручную проводится по нижеследующему алгоритму

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

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

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

  • использование полученных результатов. На основе выявленных мест «легкого проникновения» систем защиты производится подготовленная агрессия на ПО причем как в виде внешних, так и внутренних атак. Внешнее воздействия – это угроза системы из вне, где происходит сэмулирование прямых внешних угроз, воздействующих на систему, и специализированных попыток несанкционированного доступа к данным защищенной от этого системы. Внутренние атаки представляют собой второй этап воздействия, начинающийся после успешного проникновения в систему из вне. Спектр целей их дальнейшего воздействия широк и разнообразен. Главная из них компрометация той системы, в которую они проникли,

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

  • Тестирование посредством автоматизированных инструментов представляет собой не только эффективный, но весьма полезный момент использования узкоспециализированных инструментов. Пользоваться им удобно, затраты времени минимальные, а результативность позволяет создавать «кристально чистые» заключения о проделанной работе.


    К списку самых популярных инструментов относят: Nessus, Matesploit, Nmap, OpenSSL, Wireshark, w3af . Много интересного и функционального предлагают системные сборники от Linux.


    Для работы выбирают инструменты, отвечающие определенным запросам, к примеру:

    • практичность запуска, пользования и дальнейшего обслуживания,

    • простота сканирования,

    • уровень автоматизации при обнаружении уязвимых мест,

    • степень доступности тестирования ранее обнаруженных слабых для внешних атак областей,

    • степень возможности в создании детализированных и простых отчетных документов по проведенных работах и полученных результатах.

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

    Разновидности испытаний на предмет проникновения

    Разделение производится в зависимости от применяемых инструментов и объектов мониторинга:


    • социальная или человеческая, где подключается люди, которые могут удаленно или месно необходимую информацию и четко ее обрабатывать,

    • программное приложение, задействуется для выявления изъянов в системе безопасности. Одновременно используется несколько вариантов веб-предложений и специализированных сервисов используемого сервиса или сторонних источников,

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

    • клиентская часть, использует в работе специальных приложений, установленных на сайте или в приложении клиента,

    • удаленный доступ проводится путем vpn тестирования, либо подобного объекта, позволяющего обеспечить должный доступ к данной системе,

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

    Классификация методик мониторинга проводится и с учетом типа подхода к его проведению. Что позволяет выделять:

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

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

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

    Границы тестирования на проникновение

    Ограничений диапазона подобного воздействия много, но к основным стоит отнести:

    • короткий временной период при высокой изначальной стоимости данной процедуры,

    • ограничение на число испытаний в единицу времени,

    • возможность появление отказа на проникновение со стороны системы,

    • высокая степень уязвимости полученных данных.

    Заключение

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


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

Данная методика также может быть использована в качестве дополнения к другим методам проверки для оценки эффективности комплекса защиты системы от различных типов неожиданных вредоносных атак.

Каковы причины уязвимостей системы?

Пробелы в безопасности появляются на разных стадиях процесса и зависят от множества факторов:

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

Чем отличаются тестирование на проникновение и оценка уязвимости?

Обе эти методики преследуют одну цель – сделать программный продукт безопасным, но имеют разные рабочие процессы.

Тестирование на проникновение – это проверка в реальном времени вручную или с помощью инструментов автоматизации; система и связанный с ней компонент подвергаются воздействию сэмулированных злонамеренных атак для выявления недостатков безопасности.

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

Оценка уязвимости следует заранее определенной и установленной процедуре, в то время как тестирование на проникновение решает единственную задачу — разрушения системы вне зависимости от принятых подходов.

Для чего нужно тестирование на проникновение?

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

Рассмотрим результаты применения данной методики подробнее. Итак, тестирование на проникновение предоставляет:

    • Способ выявления слабых и уязвимых областей системы еще до того, как их заметит хакер. Частые и сложные обновления системы могут повлиять на соответствующее оборудование и программное обеспечение, что приводит к проблемам безопасности, – следовательно, уместно контролировать все эти обновления.
    • Возможность оценки существующего механизма безопасности системы. Это позволяет разработчикам оценить свою компетентность в защите и поддерживать уровень стандартов безопасности, установленный в системе. Помимо уязвимости системы рекомендуется также с помощью бизнес- и технической команд оценивать различные бизнес-риски и проблемы, включая любой компромисс с разрешенными и конфиденциальными данными организации. Это помогает организации структурировать и устанавливать приоритеты, смягчая или полностью исключая различные бизнес-риски и проблемы.
    • Наконец (но не в последнюю очередь), инструмент для выявления и удовлетворения определенных основных стандартов, норм и практик безопасности.

Как выполнить тестирование на проникновение?

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

1. Ручное тестирование на проникновение
Для проведения ручного тестирования на проникновение программного продукта используется последовательный стандартный подход, включающий следующие этапы:

    • Планирование тестирования проникновения. Этот этап включает в себя сбор требований, определение сферы применения, стратегий и целей тестирования проникновения в соответствии с нормами безопасности. Кроме того, он может содержать оценку и перечисление проверяемых областей, типы планируемых испытаний и другие связанные с этим проверки.
    • Разведка. Сбор и анализ максимально подробной информации о системных и связанных с ними атрибутах безопасности, полезных для таргетинга и атаки на каждый блок, для эффективного и результативного тестирования системы проникновения в систему. Различают две формы сбора и анализа информации о целевой системе: пассивная и активная разведка (в первом случае не предполагается прямое взаимодействие с системой).
    • Анализ уязвимости. На этом этапе тестировщики выявляют и обнаруживают уязвимые области системы, которые в дальнейшем будут использоваться для входа и атаки с помощью тестов на проникновение.
    • Эксплуатация. Фактическое испытание на проникновение в систему, включающее внутренние и внешние атаки. Внешние атаки – это сэмулированные атаки со стороны внешнего мира, преобладающие за пределами границы системы / сети (например, получение несанкционированного доступа к функциям и данным системы, относящимся к приложениям и серверам, обращенным к общественности). Внутренние атаки начинаются уже после вторжения авторизованных объектов в систему или сеть и имеют целью различные действия (при достижении компромисса с целостностью и правдивостью системы), которые способны преднамеренно или непреднамеренно скомпрометировать систему.
    • Пост-эксплуатация. Следующий шаг – анализ каждой атаки на систему для оценки ее цели и задачи, а также ее потенциального воздействия на системные и бизнес-процессы.
    • Отчетность. На самом деле, отчетность включает в себя документационную работу по мероприятиям, проводимым на всех упомянутых этапах. Кроме того, она может описывать различные риски, выявленные проблемы, уязвимые области (использованные или нет) и предлагаемые для устранения недостатков решения.

2. Автоматическое тестирование на проникновение

Этот полезный и эффективный подход к проведению испытаний на проникновение предполагает использование специализированного инструментария. Автоматическое тестирование надежно, удобно, оно происходит очень быстро и легко поддается анализу. Инструменты проверки эффективны для точного обнаружения дефектов безопасности, присутствующих в системе, за короткий промежуток времени, а также для создания «кристально чистых» отчетов.

Назовем лишь некоторые из популярных и широко используемых инструментов тестирования на проникновение:

Многие инструменты для автоматизированного тестирования можно найти в готовых сборках Linux (Kali Linux , Mantra OS).

Для работы над конкретным проектом придется выбирать инструмент, отвечающий целому ряду требований и критериев:

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

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

Типы испытаний на проникновение

Тестирование на проникновение в зависимости от используемых элементов и объектов может быть отнесено к следующим типам:

    • Социальная инженерия. Тестирование с подключением «человеческого контингента», способного четко выявлять и получать конфиденциальные данные и другую информацию через Интернет или телефон (к этой группе могут относиться сотрудники организации или любые другие уполномоченные лица, присутствующие в сети организации).
    • Веб-приложение. Используется для обнаружения прорех в безопасности и иных проблем в нескольких вариантах веб-приложений и сервисов, размещенных на стороне клиента или сервера.
    • Сетевая служба. Тестирование проникновения в сеть для выявления и обнаружения возможности доступа хакерам или любому неавторизованному объекту.
    • Клиентская часть. Как видно из названия, этот тест используется для тестирования приложений, установленных на клиентском сайте / приложении.
    • Удаленное подключение. Тестирование vpn или аналогичного объекта, который может обеспечить доступ к подключенной системе.
    • Беспроводные сети. Тест предназначен для беспроводных приложений и сервисов, включая их различные компоненты и функции (маршрутизаторы, фильтрационные пакеты, шифрование, дешифрование и т.д.).

Классифицировать тестирование на проникновение также можно и на основе используемых подходов к тестированию:

    • Белый ящик. При таком подходе тестировщик будет иметь полный доступ к глубоким знаниям о функционировании и основных атрибутах системы. Это тестирование очень эффективно, так как понимание каждого аспекта системы очень полезно при проведении обширных испытаний на проникновение.
    • Черный ящик. Тестировщикам предоставляется только высокоуровневая информация (например, URL или IP-адрес организации) для проведения тестирования на проникновение. Специалист может ощутить себя хакером, который ничего не знает о системе / сети. Это весьма трудоемкий подход, так как тестировщику требуется значительное количество времени для изучения свойств и деталей системы; кроме того, высока вероятность пропустить часть областей из-за недостатка времени и информации.
    • Серый ящик. Тестировщик получает ограниченную информацию (например, знания алгоритма, архитектуры, внутренних состояний) для имитации внешней атаки на систему.

Ограничения тестирования на проникновение.

У тестирования на проникновение существует ряд ограничений:

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

Вывод:

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

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

Стандарты:

Сертификация:

Последняя пара лет была богата на события, которые резко повысили интерес общества к теме хакерских атак. Скандал со взломом систем демократической партии США, выведение из строя энергетических систем инфраструктуры Министерства финансов и казначейства Украины, вирусы-вымогатели, уже не только шифрующие файлы, но и блокирующие работу промышленного и медицинского оборудования, MIRAL, гигантский ботнет из бытовых устройств, оставивший без связи половину США и Либерию, злоумышленники, массово потрошащие банки, как волки беззащитных овечек… Под ударом даже SWIFT! Хакеры из киношных гиков стали частью реальности миллиардов людей.

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

В этот раз мы решили сосредоточиться исключительно на практических моментах информационной безопасности (ИБ), связанных с компьютерными атаками и непосредственной защитой от них. Для взлома в исполнении «белых шляп», т.е. специалистов, легально имитирующих действия злоумышленников, используется термин «тестирование на проникновение» (penetration test, pentest). За этим термином скрываются сразу несколько направлений исследования защищенности, и в каждом из них работают свои узкие специалисты. В статье мы разберемся, что такое пентест, зачем он нужен и где проходит граница между атакой хакера и тестированием на проникновение.

Пентест по сути своей - это один из видов аудита ИБ. И в этом его главное отличие от реального взлома. Хакер ищет самую короткую дорогу к контролю над системами жертвы. Если на периметре нашлась дыра, злоумышленник сосредотачивается на закреплении и развитии атаки вовнутрь. А пентестер, которому заказали внешнее тестирование сети, должен скрупулезно обследовать хост за хостом, даже если уже найдена целая куча дыр. Если хосты однотипны (например, 1000 одинаковых рабочих станций), исследователь, конечно, может сделать контрольную выборку, но пропускать принципиально отличные системы недопустимо. Наверное, для заказчика это самый простой способ определить некачественный пентест.

Пентест не заменяет полноценный аудит ИБ. Для него характерен узконаправленный взгляд на исследуемые системы. Пентест по сути своей имеет дело со следствиями, а не с причинами недостатков ИБ. Зачем же его вообще проводить? Когда промышленность выпускает новый образец военной техники, инженеры тщательно просчитывают свойства брони, характеристики вооружения, но на военной приемке технику все равно выкатывают на полигон, обстреливают, подрывают и т.д. Эксперимент - критерий истины. Пентест позволяет понять, так ли хорошо, как мы думаем, выстроены у нас процессы ИБ, надежны ли системы защиты, верна ли конфигурация на серверах, понимаем ли мы путь, по которому пойдет реальный хакер. Таким образом, может сложиться впечатление, что пентест необходим компаниям, которые уже основательно вложились в ИБ. В теории это так, но на практике зачастую совсем иначе.

Я вывел для себя такую формулу пентеста:

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

Отчет - обычно не самая любимая часть работы для пентестеров, но она критически важна. Заказчик работ должен получить детальное описание всех успешных и неуспешных попыток проникновения, понятное описание уязвимостей и, что очень важно, рекомендации по их устранению. К последней части рационально привлекать профильных специалистов по ИБ, потому что знать, как сломать, вовсе не означает знать, как правильно и безопасно это поправить в реальности корпоративной ИТ-инфраструктуры.

И последний компонент, ради которого зачастую и организуется весь пентест, - это шоу. Такой аудит на порядок превосходит любой другой по наглядности, особенно для непрофессионалов. Это лучший способ продемонстрировать недостатки ИБ руководству компании в доступной для неспециалистов форме. Краткое (на паре страниц) Executive Summary со сканом паспорта CEO, титульного листа конфиденциального отчета и базы клиентов может принести для ИБ в компании больше пользы, чем весь 200 страничный отчет, идущий далее. Именно поэтому зачастую пентест заказывают компании, где ИБ до этого толком не занимались, и бизнес, а зачастую и ИТ, не понимают серьезности существующих рисков.

Параметры тестирования

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

Поставленная заказчиком работ цель атаки может сильно отличаться от пентеста к пентесту. Под «просто взломайте нас» обычно подразумевается захват контроля над ИТ-инфраструктурой (права администратора домена, сетевого оборудования), компрометация бизнес-систем и конфиденциальной информации. А бывают узконаправленные пентесты. Например, в рамках сертификации по требованиям безопасности карточных данных PCI DSS целью ежегодного обязательного пентеста является компрометация именно карточных данных. Здесь в первый же день работ сеть банка может быть полностью захвачена, но, если последний бастион с секретными данными не падет, организация успешно пройдет проверку.

Модель знаний о системе определяет стартовую позицию пентестера. От полной информации о системе (White box) до полного ее отсутствия (Black box). Зачастую выделяют и средний вариант (Grey box), когда, например, пентестер имитирует действия непривилегированного пользователя, имеющего некоторые данные о системе. Это может быть рядовой клерк, компания-партнер, клиент с доступом в личный кабинет и т.п. White box - это скорее аудит, а не классический пентест. Применяется в том случае, когда нужно детально изучить защищенность на узком участке. Например, проверяется новый клиентский портал. Исследователю предоставляется вся информация по системе, зачастую исходный код. Это помогает детально изучить систему, но едва ли имитирует реальные атаки. Заказчики Black box пентеста хотят получить полную имитацию атаки хакера, который не обладает инсайдерской информацией о системе.

Модель знаний сильно пересекается с понятием модель нарушителя. Кто нас атакует: внешний хакер, инсайдер, администратор? Деление это очень условно. Компрометация рабочей станции рядового пользователя или подрядчика с технической точки зрения моментально превращает внешнего хакера во внутреннего нарушителя.

Уровень осведомленности ИБ-специалистов определяет, кто знает о проведении работ и насколько подробно. Зачастую, помимо техники, тестируется и персонал, поэтому работы координирует директор по ИБ или ИТ, а администраторы полагают, что борются с реальными хакерами, если, конечно, вообще замечают атаку. Такие киберучения позволяют оценить не только наличие уязвимостей в системах, но и зрелость процессов ИБ, уровень взаимодействия между подразделениями и т.п. Полной противоположностью является имитация действий злоумышленника с целью обучения систем защиты. В этом случае пентестер работает на небольшом участке, а администраторы фиксируют реакцию средств защиты и ИТ-систем, корректируют настройки, готовят правила для SIEM и т.п. Например, имитируется ситуация, когда хакер уже проник в закрытый сегмент. Как он будет повышать свои привилегии в системах? Пентестер поочередно отрабатывает все известные ему векторы атак для максимально полного обучения систем безопасности.

Виды атак

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

Внешний инфраструктурный пентест - анализ сетевого периметра из Интернета. Пентестер пытается скомпрометировать доступные сетевые сервисы и по возможности развить атаку вовнутрь сети. Многие считают, что это и есть имитация реальной атаки, направленной на проникновение в сеть компании извне. На деле злоумышленники сегодня в 80–90% случаев преодолевают сетевой периметр с использованием методов социальной инженерии. Не нужно ломиться в крепостные стены, если под ними есть замечательный подкоп. Однако часто дырки бывают и тут. Например, недавно мы проводили работы для крупного авиационного завода, в рамках которых еще на этапе автоматического анализа сканер подобрал пароль к системе удаленного управления АСУ ТП. Халатность подрядчика, забывшего отключить удаленный доступ, позволяла хакеру поднять давление в трубопроводах с техническими жидкостями на порядок. Со всеми вытекающими в прямом и переносном смысле.

Такой пентест как осмотр у дантиста: лучше проводить его регулярно, чтобы предупреждать проблемы на ранних стадиях.

Shadow IT

Часто проникновение проходит с использованием систем, которые выпадают из поля зрения ИТ. Все серверы на периметре обновлены, а про IP-телефонию или систему видеонаблюдения забыли. И хакер уже внутри. Для такой инфраструктуры, выпавшей из поля зрения администраторов, есть специальный термин - Shadow IT. По оценке Gartner, к 2020 году до трети всех взломов будут проходить с использованием Shadow IT. На наш взгляд, это вполне реалистичная оценка.

Например, однажды наш пентестер нашел на идеально защищенном периметре банка необновленные системы колл-центра, через которые за 2 дня удалось полностью скомпрометировать все основные банковские АС. Оказалось, что за них отвечал не департамент ИТ, а телефонисты. В другом случае точкой входа для пентеста была сеть секретарей на ресепшн, полностью изолированная от корпоративной. Каково же было удивление заказчика работ, когда через пару дней пентестер отчитался о полном захвате сети. Ему удалось взломать необновленный принтер, залить на него шелл и получить доступ в VLAN управления принтерами. Скомпрометировав их все, пентестер получил доступ во все офисные сегменты компании.

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

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

Web-ресурсы представляют отдельный мир с точки зрения пентеста с огромным набором различных технологий и специфическими атаками. Ясно, что под вебом можно понимать что угодно, имеющее доступ в сеть. Здесь мы подразумеваем различные web-сайты, порталы и специфические API-интерфейсы, доступные из сети. Практика показывает, что в среднем для компании анализ всего ее сетевого периметра занимает меньше времени, чем одного web-сайта, особенно если там есть какие-то интерактивные элементы, личный кабинет и т.п. Это направление переживает настоящий бум, в первую очередь из-за развития электронного бизнеса банками и массового выхода ритейла в Интернет.

Основными результатами атаки на web-ресурс обычно является компрометация данных из СУБД и возможность атаки на клиентов (например, различные виды XSS находятся на сайтах каждого второго банка). Чуть реже компрометация web-сервера позволяет проникнуть в саму сеть компании, но зачастую, если искомые данные уже скомпрометированы, это может и не потребоваться злоумышленнику.

При анализе web важно проверить не только техническую часть, но и саму логику работы и реализации бизнес-функций. До сих пор иногда можно получить скидку в 99% в интернет-магазине или воспользоваться чужими бонусными баллами, слегка модифицировав строчку запроса к серверу в адресной строке.

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

Рост интереса к тестированию на устойчивости к DDoS особенно заметен в последние пару лет. Информация о крупных атаках постоянно появляется в прессе, но ими дело не ограничивается. В сегменте розничного интернет-ритейла, например, в пики продаж (перед праздниками) атаки идут практически непрерывно. Что делать с примитивными атаками, направленными на исчерпание канала связи или ресурсов серверов путем отправки огромных объемов трафика, в целом ясно. Интереснее изучить устойчивость ресурса к атакам уровня приложения. Даже один клиент, генерирующий сравнительно небольшое число специфических запросов к web- сайту, может вывести его из строя. Например, специфические запросы в поле поиска по сайту могут полностью положить back-end.

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

Более того, бытует мнение, что от этого лома нет приема. Этот термин объединяет огромное число техник, включающих рассылку обманных сообщений по почте, телефонное и личное общение для получения доступа на объект или к системам, разбрасывание у офиса компании-жертвы флешек с вредоносным вложением и многое другое.

Атаки на Wi-Fi ошибочно относят к внутреннему пентесту. Если ваш смартфон не ловит корпоративный Wi-Fi за пределами проходной, это не дает гарантий того, что злоумышленники не смогут до него дотянуться. Направленная антенна с ebay стоимостью 100$ позволяла нам проводить работы с расстояния более километра от точки доступа. В рамках пентеста Wi-Fi не всегда рассматривается как точка проникновения в сеть. Чаще он используется для атаки на пользователей. Например, пентестер паркуется у проходной предприятия до начала рабочего дня и разворачивает сеть с тем же именем (SSID), что у корпоративного Wi-Fi. Устройства в сумках и карманах сотрудников пытаются присоединиться к знакомой сети и передают для аутентификации в ней… доменные логин и пароль. Затем пентестер использует эти утечки для доступа к почте пользователей, VPN-серверам и т.д.

Анализ мобильных приложений для злоумышленника упрощается тем, что их легко скачать из магазина и детально исследовать в «песочнице», восстановив исходный код. Для обычных web-ресурсов о такой роскоши приходится только мечтать. Поэтому данный вектор атаки так популярен сегодня. Мобильные клиенты сейчас очень распространены не только у банков и ритейла. Их выпускают все подряд, а о безопасности думают в самую последнюю очередь.

Условно исследование мобильного приложения можно разделить на 3 компоненты: анализ восстановленного исходного кода на наличие дыр в безопасности, исследование приложения в «песочнице» и анализ методов взаимодействия приложения с сервером (содержание пакетов, API, уязвимости самого сервера). У нас недавно был кейс, когда API серверной части мобильного банковского приложения работало так, что можно было сформировать пакет, вызывающий перевод произвольной суммы денег с любого счета в банке на любой другой счет. И это было не исследование перед стартом приложения - оно уже давно было в продуктиве. Многие мошеннические схемы сегодня также реализуются при помощи мобильных приложений, так как про борьбу со фродом забывают еще чаще, чем про ИБ.

Анализ исходного кода не вполне корректно считать пентестом, особенно если заказчик передает исходные коды на исследование в открытом виде. Это скорее аудит безопасности приложения по модели «белого ящика». Однако эти работы зачастую проводятся совместно с пентестом для обеспечения более высокого уровня обнаружения уязвимостей, поэтому о них стоит упомянуть здесь. Пентест позволяет подтвердить или опровергнуть недостатки, найденные в рамках анализа кода (ведь в конкретной инфраструктуре далеко не все проблемы безопасности реально могут быть проэксплуатированы). Это существенно снижает число ложноположительных находок, которыми грешит анализ кода, особенно автоматизированный. В то же время в результате анализа кода зачастую находятся дыры, о которых пентестер не догадался.

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

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

Ограничения пентеста

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

В заключение

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

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

Тестирование на проникновение - метод оценки безопасности ИТ-инфраструктуры компании через санкционированное моделирование атак злоумышленников.

Узнать стоимость тестирования

×

Заполните форму обратной связи, вам будет выслан опросный лист для определения стоимости услуги

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

Работы по тестированию на проникновение направлены на:

Получение независимой и комплексной оценки текущего уровня защищенности.

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

В ходе выполнения работ проводится внешний и внутренний анализ защищенности и тестирование методами социальной инженерии.

Задачи, решаемые при проведении анализа защищенности:

  • Выявление уязвимостей ИБ и способов их эксплуатации.
  • Проверка возможности проникновения из внешних сетей в локальную вычислительную сеть.
  • Разработка рекомендаций по повышению уровня защищенности за счёт устранения выявленных уязвимостей.

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

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

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

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

При выполнении работ по анализу защищенности используются универсальные сканеры уязвимостей, позволяющие обнаруживать уязвимости приложений, ОС и сетевой инфраструктуры, а также специализированное ПО. Работы по тестированию на проникновение проводятся в три этапа и включают следующие стадии:

Этап 1 – внешний анализ защищенности:

  • Составление плана проведения внешнего анализа защищенности и его согласование с рабочей группой

Этап 2 – внутренний анализ защищенности:

Работы проводятся на объекте заказчика.

  • Составление плана внутреннего анализа защищенности и его согласование с рабочей группой
  • Анализ результатов, составление отчета и его согласование с рабочей группой

Этап 3 – тестирование методами социальной инженерии:

Работы проводятся удаленно с использованием внешних сетей передачи данных (сеть Интернет).

  • Составление плана тестирования методами социальной инженерии и его согласование с рабочей группой
  • Анализ результатов, составление отчета и его согласование с рабочей группой

Проведение внешнего анализа защищенности

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

Анализ защищённости проводится по модели «черного ящика» (отсутствие санкционированного доступа, исходных данных о конфигурации и применяемых средствах защиты информации).

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

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

Проведение внутреннего анализа защищенности

Целью настоящего этапа работ является проверка возможностей злоумышленника по осуществлению несанкционированного доступа (далее – НСД) к ресурсам и конфиденциальной информации.

Анализ защищённости проводится по модели «серого ящика» (с предоставлением санкционированного доступа к системам).

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

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

В процессе поиска уязвимостей проверяется наличие, в том числе, следующих основных типов уязвимостей:

  • внедрение фрагментов кода (например, внедрение операторов SQL, внедрение команд операционной системы
  • небезопасно реализованные процедуры аутентификации и управления сессиями
  • межсайтовый скриптинг
  • ошибки контроля доступа (например, прямые ссылки на объекты с конфиденциальной информацией, уязвимости прохождения директорий)
  • небезопасная конфигурация ПО (например, включение листинга каталогов)
  • раскрытие конфиденциальной информации (например, предоставление пользователю персональных данных других пользователей)
  • ошибки ограничения доступа пользователя к определенным функциям
  • межсайтовая подделка запросов
  • неправильная обработка ошибок, предоставляющая дополнительную информацию об исследуемой системе
  • использование ОС и ПО с известными уязвимостями
  • открытое перенаправление
  • обработка внешних сущностей XML
  • неправильная обработка ошибок, предоставляющая дополнительную информацию об исследуемой системе
  • использование простых паролей при аутентификации

Проведение тестирования методами социальной инженерии

Целью настоящего этапа работ является оценка осведомленности сотрудников заказчика в вопросах ИБ.

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

  • Фишинг - осуществляется атака посредством электронной почты. Пример атаки: Сотруднику высылается ссылка от лица компании с «новым и очень полезным сервисом» для его работы. В письме есть описание сервиса и как он именно должен помочь в работе конкретному сотруднику. Так же, в письме есть просьба проверить функционал и всё ли корректно работает. Работы нацелены на то, чтобы сотрудник зашёл на этот сервис и попытался зарегистрироваться с использованием доменных учётных данных.
  • Троянский конь - осуществляется атака посредством электронной почты. Пример атаки: Сотруднику высылается исполняемый файл, при этом содержание письма может быть разным, в зависимости от должности сотрудника: договор для менеджера, список ошибок для программиста и др. Работы нацелены на то, чтобы сотрудник запустил программу на локальном компьютере и на фиксацию факта запуска такой программы.
  • Атака по телефону - осуществляется атака посредством телефонного звонка. Работы нацелены на то, чтобы войти в доверие к сотруднику, придумывая правдоподобную легенду, а затем узнать конфиденциальную информацию или учетные данные сотрудника. Пример легенды: «Новый сотрудник тех. поддержки делает первое задание по разворачиванию сервиса и надо проверить, что он корректно работает. Просит сотрудника о помощи: зайти самостоятельно или сказать свой логин и пароль».

Анализ результатов

Результатом работ является отчет, содержащий следующую информацию.

Базовым инструментарием, используемым для проверки защищенности системы, являются средства для автоматического сбора данных о системе и тестирования на проникновение. Предлагаем рассмотреть принцип работы подобных средств на примере продукта Rapid7 Metasploit от компании Rapid7 - одного из ведущих производителей аналитических решений для информационной безопасности, который с высокими оценками входит в рейтинги влиятельных исследовательских и консалтинговых компаний, включая Gartner и Forrester.

Введение

Тестирование на проникновение (пентест) - один из самых эффективных методов оценки качества системы защиты. Оно проводится с целью выявления уязвимых мест ИТ-инфраструктуры, демонстрации возможности использования уязвимостей, а также подготовки рекомендаций по их устранению. Процедуры тестирования проводятся по инициативе владельца информационной системы и направлены на предотвращение инцидентов информационной безопасности, зачастую сопровождающихся финансовыми и репутационными потерями, неприятными объяснениями с клиентами и представителями организаций-партнеров, а также другими нежелательными последствиями.

В Российской Федерации значимым фактором, определяющим необходимость проводить тестирование на проникновение, являются требования регуляторов. Последние рассматривают проверку эффективности системы защиты как крайне важную меру, и соответствующие положения включены в нормативно-методические документы. В первую очередь в этой связи уместно упомянуть нормативные документы, под действие которых подпадает значительное число информационных систем, - приказы ФСТЭК России № 17 и 21.

В этих документах определена мера защиты в виде «испытания системы защиты информации путем осуществления попыток несанкционированного доступа (воздействия) к информационной системе в обход ее системы защиты информации» на этапе аттестации. Аттестация информационных систем, предполагающая проверку эффективности системы защиты, востребована также для информационных систем, обрабатывающих государственную тайну.

В международном масштабе целесообразно отметить стандарт безопасности данных индустрии платежных карт PCI DSS (Payment Card Industry Data Security Standard). Соответствие положениям стандарта PCI DSS является обязательным для всех организаций, вовлеченных в обработку платежных карт Visa и MasterCard: торгово-сервисных предприятий, процессинговых центров, эквайеров, эмитентов и поставщиков услуг, а также всех прочих организаций, которые хранят, обрабатывают или передают данные о держателях карт и чувствительные аутентификационные данные. Положениями стандарта предусмотрено проведение анализа уязвимостей и тестирования на проникновение как внутри, так и снаружи сети информационной системы. Внешний и внутренний тесты на проникновение должны проводиться не реже одного раза в год и после любых значительных модификаций или обновлений инфраструктуры/приложений.

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

Очевидно, что для всех перечисленных целей наиболее востребовано интегрированное решение для управления угрозами, охватывающее сетевую безопасность, безопасность веб-приложений, безопасность баз данных и стратегии тестирования проникновения, и содержащее функциональность, достаточную как для соответствия требованиям отечественных и международных нормативных документов, так и для использования в процессе обучения. К числу таких решений относится Rapid7 Metasploit производства компании Rapid7, которая была основана в 2000 году и является одним из лидирующих производителей продуктов для анализа и организации систем обеспечения информационной безопасности в ИТ-средах. Важным преимуществом программного обеспечения Rapid7 является возможность обзора состояния безопасности активов и пользователей в пределах любых сред, включая виртуальные и мобильные, а также публичные и частные облака.

Для оценки решения Rapid7 Metasploit можно воспользоваться решением того же производителя - демонстрационной уязвимой виртуальной машиной Metasploitable, оснащенной Ubuntu Linux. Виртуальная машина совместима с VMWare, VirtualBox и другими распространенными платформами виртуализации.

Важным подспорьем является то, что Rapid7 Metasploit совместим со сканером уязвимостей Rapid7 Nexpose, может инициировать его запуск, а также использовать результаты работы последнего.

Рассмотрим общий порядок работы с Rapid7 Metasploit.

Как работать с Rapid7 Metasploit

В общем виде работа с Rapid7 Metasploit состоит из следующих этапов:

  1. Создание проекта. Проект содержит рабочее пространство, которое используется для создания теста на проникновение, и конфигурацию планируемых к выполнению задач. Каждый тест на проникновение запускается из собственного проекта.
  2. Сбор информации. На этом этапе Rapid7 Metasploit собирает информацию о целевой сети: установленные операционные системы, открытые порты, запущенные хосты и процессы. На этом этапе также может использоваться сканер уязвимостей Rapid7 Nexpose. Во время проведения сканирования все полученные данные автоматически сохраняются в проект.
  3. Использование эксплойтов. Атака может выполняться вручную или с использованием базы эксплойтов. Здесь используются данные о сети, полученные на этапе 2.
  4. Действия над скомпрометированной системой. После получения доступа используется полезная нагрузка эксплойта, с помощью которой инициируются интерактивные сеансы для сбора дополнительной информации а также появляется возможность использовать постэксплуатационные модули для автоматического сбора сохраненных в операционной системе и приложениях паролей, скриншотов, снимков с веб-камер, записи нажатий клавиш, сбора конфигурационных файлов, запуска приложений и др.

Сравнение редакций Rapid7 Metasploit

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

  • Framework
  • Community
  • Express

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

  • Сбор данных о характеристиках компонентов и сетевых уязвимостях.
  • Тестирование на проникновение.
  • Выполнение задач фишинга.
  • Тестирование веб-приложений.
  • Формирование отчетов.
  • Управление.

Таблица 1. Сравнение редакций Rapid7 Metasploit

Характеристика Pro Express Community
Импорт данных сканирования
(Scan data import)
Сканирование с обнаружением
(Discovery scan)
Интеграция с системой управления уязвимостями Nexpose
(Nexpose scan integration)
Экспорт данных
(Data export)
Ручной запуск эксплойтов
(Manual exploitation)
Веб-интерфейс
(Web interface)
Управление сеансами
(Session management)
Управление учетными данными
(Credential management)
Проникновение через опорный пункт
(Proxy pivot)
Модули, исполняемые после компрометации
(Post-exploitation modules)
Очистка сеанса
(Session clean up)
Методом подбора
(Bruteforce)
Сбор свидетельств
(Evidence collection)
Протоколирование проверки
(Audit Report)
Отчетность о деятельности
(Activity Report)
Отчетность о скомпрометированных и уязвимых хостах
(Compromised and Vulnerable Hosts Report)
Отчетность об учетных данных
(Credentials Report)
Отчетность о работе сервисов
(Services Report)
Повторное использование учетных данных
(Credentials reuse)
Попытка обхода антивируса
(Anti-virus evasion)
Попытка обхода систем обнаружения и предотвращения вторжений
(IPS/IDS evasion)
Перезапуск сеанса
(Session rerun)
Технологический процесс компрометации
(Exploitation workflow)
Воспроизведение задач
(Task replay)
Маркировка данных
(Tagging data)
Отчетность о соответствии PCI DSS
(PCI Report)
Отчетность о соответствии FISMA
(FISMA Report)
"Мастер" для быстрого тестирования на проникновение
(Quick PenTest Wizard)
"Мастер" для проверки уязвимостей
(Vulnerability Validation Wizard)
Интеграция с системой сканирования качества кода Sonar
(Project Sonar integration)
"Мастер" для фишинга
(Phishing Wizard)
Социотехнический анализ
(Social engineering)
"Мастер" для тестирования веб-приложений
(Web App Testing Wizard)
Тестирование веб-приложений
(Web app testing)
Проникновение через опорный пункт с использованием VPN-туннелирования
(VPN pivoting)
Генератор полезных нагрузок
(Payload generator)
Макросы, исполняемые после компрометации
(Post-exploitation macros)
Постоянные сеансы
(Persistent sessions)
Мета-модули
(MetaModules)
Работа в команде
(Team collaboration)
Цепочки задач
(Task chains)
Резервирование и восстановление
(Back up and restore)
Настраиваемая отчетность
(Custom reporting)
Социотехническая отчетность
(Social Engineering Report)
Отчетность по оценке веб-приложений
(Web Application Assessment Report)

Редакция Metasploit Framework стоит особняком, поскольку служит основой для создания коммерческих продуктов. Это проект с открытым кодом, предоставляющий доступ к базе эксплойтов для различных приложений, операционных систем и платформ. Управление осуществляется через интерфейс командной строки. Пользователь Metasploit Framework может создавать и добавлять новые эксплойты в базу или использовать имеющиеся в качестве дополнительных инструментов при выполнении тестов на проникновение.

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

Выводы

Rapid7 Metasploit имеет широкий спектр функциональных возможностей. Решение может работать как через веб-интерфейс, так и интерфейс командной строки - вариант определяется по желанию пользователя. При этом полный набор функций доступен только при работе с помощью веб-интерфейса. Rapid7 Metasploit поддерживает операционные системы семейства Windows и Linux.

Еще несколько отличительных характеристик Rapid7 Metasploit:

  • Возможность выбора редакции, удовлетворяющей потребностям в частном случае.
  • Возможность использовать результаты анализа уязвимостей от сторонних решений.
  • Возможность тренировки на специально разработанной уязвимой системе.
  • Интеграция продукта (в редакции Framework) с Linux-дистрибутивами:
    • Kali linux
    • Backtrack linux (поддержка прекращена)
    • Pentoo
    • BlackArch
    • Backbox

Rapid7 Metasploit имеет несколько ограничений уровня эксплуатации, которые целесообразно учитывать:

  • Установка и последующее корректное функционирование продукта возможны только после отключения брандмауэра и антивируса.
  • Рекомендуется установка Rapid7 Nexpose и Metasploit на отдельных средствах вычислительной техники. При этом возможна установка Rapid7 Metasploit в виртуальную машину.
  • Отсутствие полноценного перевода эксплуатационной документации на русский язык. С руководством по эксплуатации на английском языке можно ознакомиться на сайте производителя в разделе Metasploit.