🕵️ Что такое пентест? — Information Security Squad
🕵️ Что такое пентест?

Что такое пентест?

Pentest (penetration testing) – тестирование на проникновение, анализ сетевой инфраструктуры, серверов компании или приложений на наличие уязвимостей.

Цель такого анализа – найти уязвимости и составить возможные векторы атаки, имитируя действия настоящего злоумышленника.

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

Некоторые стандарты безопасности (например PCI DSS и 382-П для организаций финансового сектора) требуют проводить такое тестирование раз в год или чаще.

Приказы ФСТЭК России также содержат требование проводить тестирование на проникновение раз в 3 года для организаций, которые работают с персональными данными.

Виды пентестинга по модели знаний

Whitebox — Аудит кода и инфраструктуры. В этом случае команде пентестеров передается исходный код ПО, или копия инфраструктуры, которую можно развернуть у себя и изучить “изнутри”.

Graybox – До начала проведения тестирования команде специалистов предоставляется информация о структуре организации.

Blackbox – У пентестера нет никакой информации об организации информационной защиты. Дается только общая информация о организации. Действовать приходится как настоящему злоумышленнику, начиная тестирования со сбора данных.

Принцип “Red Team” – наиболее приближенный к реальному сценарию вариант. У команды пентестеров нет информации о целях атаки, а сотрудники организации не знают о проводимом тестировании.

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

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

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

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

Тестирование WIFI — поиск уязвимостей в WIFI сети организации.

Пентест Web приложений — поиск уязвимостей на сайтах организации. Это могут быть ошибки конфигурации, управления сессиями, ошибки механизма авторизации. Самые распространенные уязвимости описаны в методологии OWASP Top 10.

Нагрузочное тестирование — Проверка готовности сетевой инфраструктуры на случай DDOS-атаки на организацию.

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

Методология проведения тестирования

Существуют несколько основных методологий на которые опираются при проведении пентеста.

  • PTES (Penetration Testing Execution Standard)
  • OWASP (Open Web Application Security Project)
  • OSSTMM (Open Source Security Testing Methodology Manual)
  • NIST SP 800-115 (Technical Guide to Information Security Testing and Assessment)
  • ISSAF (Information Systems Security Assessment Framework)

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

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

Работа пентестера состоит из нескольких основных этапов.

  • Сбор информации
  • Анализ уязвимостей
  • Эксплуатация и обработка данных
  • Формирование отчета

Сбор информации

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

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

Дальше в ход идут специализированные поисковики, например https://spyse.com/.

С его помощью можно получить:

  • Информацию о DNS записях
  • WHOIS
  • Поддомены
  • IP адреса хостов
  • Сайты расположенные на указанных IP (помимо целевого)
  • Открытые порты
  • Баннеры запущенных сервисов (тип, версия и даже возможные уязвимости)

 

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

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

Wayback Machine — Веб-архив, который хранит у себя старые версии страниц. Позволяет посмотреть изменения на сайте по указанным датам.

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

Анализ целей на уязвимости

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

Там где возможен физический доступ к инфраструктуре, в ход могут пойти атаки на WIFI или использование BadUSB (устройство которое можно подключить в USB порт компьютера и получить удаленный доступ).

Если речь идет о тестировании веб-сайта, то пентестер проверяет возможные уязвимости в бизнес-логике, конфигурации, а также наиболее распространенные ошибки (SQL, XSS, и тд).

Для анализа могут использоваться средства автоматизации, например Burp Suite, Nessus, Nmap и другие. Автоматическое сканирования помогает сузить область поиска и сконцентрироваться на потенциально уязвимых участках. Дальше начинается ручная работа.

Эксплуатация и обработка данных

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

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

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

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

Создание отчета

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

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

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

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *