В этом руководстве по тестированию на проникновение (руководстве по пентесту) мы узнаем следующее:
Давайте углубимся в изучение тестирования на проникновение без дальнейшего промедления.
Что такое тестирование на проникновение?
Тестирование на проникновение также является типом тестирования безопасности, которое проводится для оценки безопасности системы (аппаратного обеспечения, программного обеспечения, сетей или среды информационной системы). Цель этого тестирования — найти все уязвимости безопасности, присутствующие в приложении, путем оценки безопасности системы с помощью вредоносных методов, а также защитить данные от хакеров и поддерживать функциональность системы. Это тип нефункционального тестирования, целью которого является авторизованные попытки нарушить безопасность системы. Это также известно как Pen Testing или Pen Test, и тестер, который проводит это тестирование, является специалистом по тестированию на проникновение, также известным как этический хакер.
Обязательно прочтите: Что такое тестирование на проникновение PCI [Пошаговое руководство]
Зачем необходимо тестирование на проникновение?
Если система не защищена, злоумышленник может получить авторизованный доступ к системе. Тестирование на проникновение оценивает безопасность системы и защищает ее от внутренних и внешних угроз. Он выявляет уязвимости и определяет, возможен ли несанкционированный доступ или другие вредоносные действия.
Организации проводят тестирование на проникновение по ряду причин
- Чтобы предотвратить утечку данных
- Чтобы проверить меры безопасности< li>Для соответствия требованиям соответствия
- Для обеспечения безопасности новых приложений
- Для доступа к обнаружению инцидентов и эффективности реагирования
< strong>Как часто проводить тестирование на проникновение?
Кибератаки происходят довольно часто в наши дни. Очень важно проводить регулярное сканирование уязвимостей и тестирование на проникновение для обнаружения недавно обнаруженных и ранее неизвестных уязвимостей.
Частота проведения тестирования на проникновение должна зависеть от политики безопасности вашей организации. Однако регулярное проведение ручного тестирования может определить слабые места вашей системы и уберечь ее от нарушений безопасности.
Обычно пентестинг проводится после развертывания новой инфраструктуры и приложений. Кроме того, это делается после серьезных изменений в инфраструктуре и приложениях.
Сканирование уязвимостей проверяет серверы на наличие уязвимостей. Мы должны убедиться, что обнаруженные нами уязвимости не являются ложными срабатываниями. На самом деле сообщения о ложных срабатываниях — это обратная сторона сканирования уязвимостей.
Тестирование на проникновение проверяет серверы на наличие уязвимостей и использует их.
Как сканирование уязвимостей, так и тестирование на проникновение могут проверить способность организации обнаруживать бреши в системе безопасности. Организациям необходимо сканировать как внешнюю, так и внутреннюю инфраструктуру и приложения для защиты от внешних и внутренних угроз.
Организациям необходимо регулярно проводить тестирование на проникновение по следующим причинам:
- Чтобы найти уязвимости в системе безопасности
- Для защиты пользовательских данных
- Для тестирования приложений, которые часто являются путями атаки
- Для выявления новых ошибок в существующей системе после развертывания или после серьезных изменений, внесенных в систему
- Для предотвращения черных атак и защиты данные пользователя
- Чтобы контролировать потери доходов
- Чтобы улучшить существующие стандарты безопасности
Какие этапы тестирования на проникновение?
Процесс тестирования на проникновение можно разделить на пять этапов, а именно:
1. Этап планирования
На этом этапе мы определяем объем (какую систему тестировать, а также цели и задачи, которых необходимо достичь с помощью теста на проникновение), а также ресурсы и инструменты (сканеры уязвимостей или инструменты тестирования на проникновение), которые следует использовать для тестирования. исполнение
2. Этап обнаружения
На этом этапе мы собираем как можно больше информации о системах, которые находятся в рамках теста на проникновение.
3. Этап оценки уязвимости
При оценке уязвимости мы просто выявляем уязвимость и сообщаем об уязвимости с помощью инструментов сканирования уязвимостей.
4. Этап эксплуатации
На этом этапе мы пытаемся использовать уязвимости, выявленные на предыдущем этапе (т. е. этапе обнаружения), чтобы получить доступ к целевой системе.
5. Этап отчетности
На этом этапе мы эффективно документируем все результаты и выводы. Этот отчет будет использоваться в качестве справочного документа при устранении выявленных уязвимостей.
Каковы основные причины уязвимостей системы безопасности?
Некоторые из основных причин уязвимостей безопасности заключаются в следующем
- Сложность:Уязвимости системы безопасности возрастают пропорционально сложности системы. Сложность с точки зрения программного обеспечения, оборудования, информации, бизнеса и процессов создает больше уязвимостей в системе безопасности.
- Подключение. Каждое незащищенное подключение является потенциальной площадкой для эксплуатации.
- Проблемы дизайна: В программном и аппаратном обеспечении не должно быть ошибок проектирования. Эти ошибки могут подвергать предприятия значительным рискам.
- Конфигурация. Неправильная конфигурация системы создает уязвимости в системе безопасности.
- Ввод данных пользователем:Данные, полученные посредством SQL-инъекций, переполнения буфера и т. д., могут быть предназначены для атаки на принимающую систему.
- Управление: у руководства должен быть надлежащий план управления рисками, чтобы избежать уязвимостей системы безопасности.
- Пароли. Пароли предназначены для предотвращения несанкционированного доступа и защиты ваших личных данных. Незащищенные пароли (передача другим пользователям, их запись где-либо, настройка легко угадываемых) позволяют хакерам легко подобрать ваш пароль.
- Недостаток обучения:Отсутствие подготовки приводит к человеческим ошибкам. Человеческие ошибки можно предотвратить путем надлежащего обучения сотрудников.
- Человеческие ошибки: человеческие ошибки, такие как неправильная утилизация документов, ошибки кодирования, предоставление паролей к фишинговым сайтам, являются важным источником безопасности. уязвимости.
- Связь. Каналы связи, такие как телефон, мобильный телефон, Интернет, создают возможности для уязвимостей системы безопасности.
- Социальные сети: Раскрытие сотрудниками конфиденциальной информации посторонним является одной из распространенных причин угроз безопасности.
Что такое разница между тестированием на проникновение и сканированием уязвимостей?
Прежде чем рассматривать разницу между тестированием на проникновение и сканированием уязвимостей. Давайте рассмотрим два наиболее часто используемых термина, таких как уязвимость и эксплойт.
Что такое уязвимость?
Уязвимость — это безопасность. слабость или недостаток, который может быть использован злоумышленником для выполнения несанкционированных действий в системе.
Что такое эксплойт?< /h3>
Эксплойт — это программа, которая использует уязвимость, чтобы вызвать непреднамеренное поведение в системе. Это действие выполняется, чтобы получить контроль над системой для атаки на нее.
Теперь давайте посмотрим на разницу между тестированием на проникновение и оценкой уязвимостей.
В отрасли существует путаница в отношении разницы между тестированием на проникновение и сканированием уязвимостей. Несмотря на то, что эти два термина обычно взаимозаменяемы, между ними есть некоторые различия. Тестирование на проникновение отличается от тестирования на уязвимости.
Сканирование уязвимостей
При сканировании уязвимостей (также известном как оценка уязвимостей) мы просто выявляем уязвимости и сообщаем об уязвимостях с помощью инструментов сканирования уязвимостей.
Это первый шаг к повышению безопасности системы.
Отчет об оценке уязвимостей должен содержать название, описание и серьезность уязвимости.
Тестирование на проникновение
При тестировании на проникновение (он же тест на проникновение) мы выявляем уязвимости и пытаемся использовать их с помощью инструментов тестирования на проникновение. Мы повторяем одни и те же тесты на проникновение до тех пор, пока система не будет отрицательным для всех этих тестов.
В отчете о тестировании на проникновение перечислены уязвимости, которые были успешно использованы.
Если организация заинтересована в защите своей системы от проблем безопасности затем они должны регулярно проводить оценку уязвимостей и тестирование на проникновение.
Тестирование на проникновение можно разделить на три метода, такие как ручное тестирование на проникновение, автоматическое тестирование на проникновение и сочетание ручного и автоматического тестирования на проникновение.
Используя инструменты автоматического тестирования на проникновение, невозможно найти все уязвимости. Некоторые уязвимости можно выявить с помощью ручного сканирования. Итак, опытные пен-тестеры используют свой опыт и навыки для атаки на систему с помощью ручного тестирования на проникновение.
Кто выполняет пентестирование?
Пентестирование может выполняться тестировщиками, сетевыми специалистами или консультантами по безопасности.
Роль и обязанности пентестеров
Обязанности пентестеров варьируются от компании к компании. Тем не менее, есть несколько основных обязанностей, общих для всех пен-тестеров, таких как
- Понимание сложных компьютерных систем и технических терминов кибербезопасности
- Сбор необходимой информации от организации для проведения тестов на проникновение
- Планирование создавать методы проникновения, сценарии и тесты
- Проводить тестирование клиентской инфраструктуры на месте и удаленное тестирование клиентской сети для выявления слабых мест в безопасности
- Работать с клиентами, чтобы определить их требования на основе тестирования
- Проводить тестирование на проникновение и сканирование уязвимостей с использованием автоматизированных инструментов, специальных инструментов и ручное тестирование
- Возможность анализировать первопричины и давать стратегические рекомендации во время проверки безопасности
- Создавать отчеты и рекомендации на основе полученных результатов
- Поймите, как обнаруженные вами недостатки могут повлиять на бизнес или бизнес-функцию, если они не будут устранены.
- Выявленные вами недостатки должны быть воспроизводимы, чтобы разработчикам было легко их исправить
- Все данные и информация должна храниться в тайне
Типы тестеров на проникновение?
- Черные тестеры на проникновение
- Белые тестеры на проникновение
- Серые тестеры на проникновение
В чем разница между черными, белыми и серыми хакерами?
Черные хакеры
Хакеры в черной шляпе (также известные как черные шляпы) считаются киберпреступниками. Они используют свои навыки со злым умыслом для личной или финансовой выгоды. Они взламывают компьютерные сети, чтобы уничтожить данные или сделать систему непригодной для использования теми, кто уполномочен ею пользоваться. Обычно они занимаются взломом банков, кражей информации о кредитных картах, созданием и использованием ботнета для выполнения DDoS-атак (распределенный отказ в обслуживании) и т. д.,
белые хакеры< /сильный>
Белых хакеров (также известных как «белые шляпы») обычно называют этическими хакерами. Этические хакеры работают во благо, а не во зло. Обычно компании нанимают этих белых хакеров в качестве штатных сотрудников, а также некоторые компании работают с этими белыми хакерами на контрактной основе в качестве специалистов по безопасности, чтобы найти лазейки в безопасности своей системы. Белые хакеры атакуют систему после получения разрешения от владельца системы.
Серые хакеры
Хакеры серой шляпы (также известные как серые шляпы) могут взломать систему по этическим и неэтичным причинам. Действия этих серых хакеров находятся где-то между хакерами в черной шляпе и хакерами в белой шляпе. Серые хакеры находят уязвимости в системе. Этот тип взлома считается незаконным, поскольку они атакуют систему, не получив разрешения от владельца системы. Они находят для безопасности уязвимости, но не для плохих целей. После обнаружения уязвимостей безопасности они сообщают о них владельцу системы. Иногда они требуют плату за решение проблемы. Если владелец не отвечает, иногда хакеры раскрывают уязвимость безопасности общественности. /strong>
Различные типы проверки на проникновение, а именно
#1. Тесты сетевых служб
Пен-тест сетевых служб направлен на выявление слабых мест и уязвимостей в сети. Эти тесты можно запускать как локально, так и удаленно.
Тестировщики должны ориентироваться на следующие области сети:
- Тест конфигурации брандмауэра
- Тест анализа состояния
- Тест обхода брандмауэра
- IPS обман
- Атаки на уровне DNS, такие как тестирование передачи зоны, проблемы с коммутацией или маршрутизацией, а также другие необходимые проверки сети
Пестер-тестеры также охватывают некоторые из наиболее распространенных программных пакетов, таких как
- Secure Оболочка (SSH)
- SQL Server или MySQL
- Простой протокол передачи почты (SMTP)
- Протокол передачи файлов (FTP)
#2. Тесты веб-приложений
Пентесты веб-приложений (тестирование проникновения веб-приложений) направлены на выявление уязвимостей безопасности веб-приложений, веб-браузеров и их компонентов, таких как ActiveX, апплеты, Silverlight и API.< h3><сильный>#3. Тесты на стороне клиента
Проверки на проникновение на стороне клиента направлены на поиск уязвимостей в системе безопасности и их использование в программных приложениях на стороне клиента.
#4. Беспроводные тесты
Беспроводные ручные тесты, связанные с анализом сетей Wi-Fi и беспроводных устройств, развернутых на сайте клиента. Беспроводные устройства, такие как ноутбуки, нетбуки, планшеты, смартфоны, iPod и т. д.,
#5. Тесты социальной инженерии
Раскрытие сотрудниками конфиденциальной информации посторонним является одной из распространенных причин угроз безопасности. Все сотрудники должны следовать стандартам и политикам безопасности, чтобы избежать попыток проникновения через социальную инженерию. Эти тесты в основном проводятся через каналы связи, такие как телефон, мобильный телефон, Интернет, и нацелены на сотрудников, службы поддержки и процессы.
Проверки пера социальной инженерии можно разделить на два типа
#1. Удаленные тесты
Удаленные тесты направлены на то, чтобы заставить сотрудника раскрыть конфиденциальную информацию с помощью электронных средств (например, с помощью фишинговой кампании по электронной почте)
#2. Физические тесты
Для защиты конфиденциальной информации следует применять надежные методы физической безопасности. Это включает в себя тактику обращения с людьми, например, убеждение сотрудника с помощью телефонных звонков. Обычно он используется на военных объектах.
Какие существуют типы Pen Testing?
Есть можно использовать три типа Pen Testing, а именно
1. Тестирование на проникновение методом «черного ящика»
2. Тестирование методом “белого ящика”
3. Тестирование на проникновение серого ящика
№1. Тестирование на проникновение через черный ящик
В подходе тестирования на проникновение «черный ящик» тестировщики «черного ящика» (хакеры Black Hat) оценивают целевую систему, не имея никаких знаний о деталях системы. У них просто есть высокоуровневые сведения о системе, такие как URL-адрес или название компании. Они не проверяют программный код. Эти тестировщики не являются этичными хакерами. Невозможно получить информацию о целевой системе от владельца системы. Поэтому они запускают полномасштабную атаку грубой силы на систему, чтобы обнаружить слабые места или уязвимости в системе. Этот подход также называется методом проб и ошибок.
#2. Тестирование на проникновение методом белого ящика
В подходе тестирования на проникновение через белый ящик пен-тестеры белого ящика (белые хакеры) получают доступ к целевой системе с полной информацией о системе. Поскольку у них есть полная информация о системе, тест белого ящика можно выполнить намного быстрее, чем тест черного ящика. Тестеров пера белого ящика называют этическими хакерами. Этот подход также известен как «прозрачный ящик», «стеклянный ящик», «открытый ящик» и структурное тестирование.
#3. Тестирование на проникновение серого ящика
В подходе тестирования на проникновение серого ящика пен-тестеры серого ящика (серые хакеры) используют как ручные, так и автоматизированные процессы тестирования. Это комбинация методов тестирования на проникновение «черного ящика» и «белого ящика». Эти хакеры могут атаковать систему по этическим и неэтичным причинам. Эти хакеры находят уязвимости в системе. Этот тип взлома считается незаконным, поскольку они атакуют систему без разрешения владельца системы.
Ограничения тестирования на проникновение
< p>Тестирование на проникновение не может найти все уязвимости в целевой системе. Существуют некоторые ограничения, основанные на ресурсах и ограничениях теста, например
- Ограничения навыков пен-тестера. Трудно найти профессиональных пен-тестеров.
- Ограничения объема — большинство организаций отказываются от некоторых тестов из-за ресурсов, ограничений безопасности и т. д.,
- Ограничения по времени
- Ограничения бюджета
- Ограничения используемых инструментов
Как выбрать инструменты для тестирования на проникновение?
Нам нужно выбрать тест на проникновение, основываясь на следующих моментах.
- < li>Он должен быть прост в использовании
- Его должно быть легко настроить и развернуть
- Он должен легко сканировать уязвимости
- Категоризация уязвимостей на основе серьезности
- Должны создаваться подробные отчеты и журналы
- Должна быть экономичной с точки зрения бюджета
- Необходима хорошая команда поддержки и техническая документация
Лучшие инструменты для тестирования на проникновение
Инструменты для проверки на проникновение подразделяются на сканеры уязвимостей и злоумышленники. Сканеры уязвимостей показывают вам слабые места системы, тогда как злоумышленники уязвимостей показывают вам слабые места системы и атакуют их.
Некоторые из популярных инструментов тестирования на проникновение:
#1. Invicti
Invicti — сканер безопасности веб-приложений. Этот сканер безопасности веб-приложений прост в использовании, а результаты будут невероятно точными. Он используется для автоматического выявления проблем безопасности, таких как внедрение SQL и межсайтовый скриптинг (XSS) на веб-сайтах, веб-приложениях и веб-службах. Технология Proof-Based Scanning не только сообщает об уязвимостях, но и создает Proof of Concept, чтобы подтвердить, что они не являются ложными срабатываниями.
Некоторые функции Invicti заключаются в следующем
- Оценка уязвимостей
- Расширенное веб-сканирование
- Технология проверки на основе доказательств для абсолютно точного обнаружения уязвимостей и результатов сканирования
- Полная поддержка HTML5
- Сканирование веб-служб
- Создание HTTP-запросов
- Интеграция с SDLC
- Отчетность
- Эксплуатация
- Ручное тестирование
- Поддержка токена защиты от CSRF (подделка межсайтовых запросов)
- Автоматическое обнаружение пользовательских ошибок 404 страницы ошибок
- Поддержка REST API
- Поддержка токена Anti-CSRF
#2. Acunetix
р><р>Acunetix — это сканер веб-уязвимостей, который автоматически сканирует любой веб-сайт. Он обнаруживает более 4500 веб-уязвимостей, включая все варианты SQL-инъекций, XSS и Host Header Injection. Пользователи могут экспортировать уязвимости в средства отслеживания проблем, такие как Atlassian JIRA, Bugzilla, GitHub, GitLab и т. д.
Не пропустите наш подробный обзор Acunetix.
Некоторые функции Acunetix заключаются в следующем
- Углубленное сканирование и анализ — автоматическое сканирование всех веб-сайтов
- Самый высокий уровень обнаружения уязвимостей с низким уровнем ложных срабатываний
- Интегрированное управление уязвимостями — определение приоритетов угроз и контроль над ними
- Интеграция с популярными WAF и системами отслеживания проблем, такими как JIRA, GitHub , TFS
- Бесплатные инструменты сканирования безопасности сети и ручного тестирования
- Он поддерживает Windows, Linux и macOS
Познакомьтесь с нашим подробным обзором и руководством по сравнению лучших инструментов тестирования на проникновениеподробнее.
Какие бесплатные инструменты для тестирования на проникновение существуют?
< p>Некоторыми из бесплатных инструментов тестирования на проникновение (инструменты оценки уязвимости сети/инструменты оценки веб-уязвимости) являются NMap, Nessus, Metasploit, Wireshark, OpenSSL, W3af и т. д.,
Какие существуют коммерческие инструменты для тестирования на проникновение?
Некоторыми из коммерческих инструментов для тестирования на проникновение являются Invicti, Acunetix.
Заключение
Мы подготовили это руководство, помня о тестировщиках программного обеспечения, и рассмотрели все необходимое, чтобы они могли изучить и внедрить тестирование на проникновение на работе. Несмотря на то, что это руководство для начинающих по тестированию на проникновение, мы надеемся, что вы сможете улучшить свои знания о тестировании на проникновение с помощью этого руководства.
Если у вас есть какие-либо вопросы, оставьте комментарий ниже. Если вы тестировщик на проникновение, поделитесь своим опытом в разделе комментариев ниже.
TAG: qa