Лекция
Привет, Вы узнаете о том , что такое испытание на проникновение, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое испытание на проникновение, пентест, пентестер, этичный хакер, тестировщик безопасности систем, специалист по проверке работоспособности, специалист по информационной безопасности , настоятельно рекомендую прочитать все из категории Вредоносное ПО и защита информации.
Тестирование на проникновение (жарг. пентест ) — метод оценки безопасности компьютерных систем или сетей средствами моделирования атаки злоумышленника. Процесс включает в себя активный анализ системы на наличие потенциальных уязвимостей, которые могут спровоцировать некорректную работу целевой системы, либо полный отказ в обслуживании. Анализ ведется с позиции потенциального атакующего и может включать в себя активное использование уязвимостей системы. Результатом работы является отчет, содержащий в себе все найденные уязвимости системы безопасности, а также может содержать рекомендации по их устранению. Цель испытаний на проникновение — оценить возможность его осуществления и спрогнозировать экономические потери в результате успешного осуществления атаки. испытание на проникновение является частью аудита безопасности.
Термин этичный хакинг является собирательным и как правило подразумевает использование всевозможных хакерских методик во благо, будь то поиск уязвимостей в ПО, обратная инженерия прошивки какого либо устройства, фаззинг сетевого протокола или тест на проникновение. Т.е. термин не обозначает какой-то один тип исследования или деятельности. Тестирование на проникновение – метод оценки защищенности компьютерных систем или сетей средствами моделирования атаки злоумышленника. Фактически это тестовый взлом системы. Результаты теста оформляются в виде отчета.
Тестирование на проникновение и Этичный хакинг
Тест на проникновение и другие формы оценки защищенности Тест на проникновение – это одна из форм оценки защищенности. Помимо теста на проникновение есть еще другие формы: - аудит информационной безопасности; - анализ уязвимостей; - аттестация информационной (автоматизированной) системы (это больше не форма анализа защищенности, а форма оценки соответствия).
Тест на проникновение != аудит информационной безопасности
Аудит (по ГОСТ 19011-2012) – систематический, независимый процесс получения свидетельства аудита и объективного их оценивания с целью установления степени выполнения согласованных критерием аудита. Критерии аудита – совокупность политики, процедур или требований, используемых в качестве эталона, в соотношении с которыми сопоставляют свидетельства аудита, полученные при проведении аудита. Свидетельства аудита – записи, изложение фактов или другая информация, которые связаны с критериями аудита и могут быть проверены. При тесте на проникновение отсутствуют как таковые критерии аудита – неотъемлемый элемент понятия «Аудит». Тест на проникновение может являться частью комплексного аудита для демонстрации на практике того, что невыполнение тех или иных требований безопасности, являющихся критериями аудита, может привести к успешной компрометации системы.
тест на проникновение != анализ уязвимостей
Анализ уязвимостей – оценка используемого в информационных системах программного и аппаратного обеспечения на наличие известных уязвимостей без последующей попытки их эксплуатации и демонстрации возможности использования потенциальным злоумышленником
Тест на проникновение != аттестация
Аттестация объектов информатизации – комплекс организационно-технических мероприятий, в результате которых посредством специального документа – «Аттестата соответствия» подтверждается, что объект соответствует требованиям стандартов или иных нормативно-технических документов по безопасности информации. Для некоторых категорий систем аттестация носит обязательный характер (ГИС, системы, обрабатывающие ГТ). Аттестат соответствия в таких случаях не только подтверждает соответствие некоторым требованиям, но и дает права обрабатывать информацию определенного уровня конфиденциальности. На практике наличие аттестата соответствия не доказывает того, что система безопасна (привет «бумажным» безопасникам ). Зачастую аттестация может привести к обратному эффекту, когда безопасность системы понижается. Например, в аттестованной системе есть проблемы с установкой обновлений.
Ограничения тестирования на проникновение
Зачем проводить тестирование на проникновение?
Оценка эффективности принятых мер безопасности для защиты от внешних и внутренних угроз. Оценка устойчивости систем(ы) или приложения к наиболее распространенным видам внешних атак. Внутренняя политика (тест на проникновение как инструмент воздействия). Требование или рекомендация нормативных документов (compliance).
Рис. 1. Стадии тестирования на проникновение
В основе испытаний на проникновение могут лежать несколько различных методик. Основными отличиями является наличие информации об исследуемой системе. При проверке закрытых систем (систем типа черный ящик) атакующий не имеет первоначальных сведений об устройстве атакуемой цели. Первоначальная задача такого вида проверки — сбор необходимой информации о расположении целевой системы, ее инфраструктуры. Помимо закрытых систем существуют открытые (доступна полная информация о целевой системе), и полузакрытые (имеется лишь частичная информация).
К целевым системам относятся компьютерные системы c доступом из сети Интернет. Испытание на проникновение должно проводиться до запуска целевой системы в массовое использование. Это дает определенный уровень гарантии, что любой атакующий не сможет нанести вред, прямой или косвенный, работе исследуемой системы.
Основная их цель – подтвердить или опровергнуть возможность несанкционированного доступа к защищаемой информации, используя найденные уязвимости. А главный принцип выполнения – обеспечить необходимую доказательность, путем применения техник и методов, используемых злоумышленниками.
Злоумышленник – центральное понятие в сфере пентестов. От того, какая модель мошенника берется за основу при проведении работ, во многом зависит итоговый результат. Чаще всего рассматриваются две основные характеристики злоумышленника: осведомленность (информированность) и квалификация. Но этого недостаточно, поскольку в таком двухмерном мире довольно сложно отличить уволенного сотрудника от работающего администратора, а хакера-одиночку от представителя преступной группировки. К характеристикам предполагаемого злоумышленника целесообразно добавить “уровень оснащенности” и “мотивацию”, которые позволят учитывать то, какие средства злоумышленник может использовать, и насколько он целеустремлен в своих действиях.
Другой важный момент касается концептуальных ограничений пентеста. При выполнении поиска и анализа уязвимостей исполнителем всегда рассматриваются только известные уязвимости. Поиск неизвестных уязвимостей и разработка принципиально новых техник атак – это отдельная исследовательская задача, которой должны заниматься другие люди с соответствующей подготовкой и ресурсами. Пентест – это сугубо практическая дисциплина, а не исследовательская, если только заказчик не готов оплачивать и то, и другое.
Вместе с тем неправильно воспринимать пентест как механическую работу по выявлению уязвимостей c последующим подбором подходящих средств их эксплуатации. Если бы все было так просто, пентест давно был бы автоматизирован. А он требует от исполнителя серьезной аналитической работы, глубокого понимания природы обнаруженных уязвимостей и готовности к адаптации существующих методов и техник проведения атак под конкретное окружение.
Критики утверждают, что большинство пентестов ограничивается лишь простыми сценариями, а потому полученные результаты не являются достаточно надежными. С этим можно было бы согласиться, если бы не одно “но”. В основе выбора методов проведения атак помимо всех прочих обстоятельств лежит принцип простоты. Чем более простым и надежным является конкретный сценарий атаки, тем более предсказуемый результат он будет иметь и тем чаще применяться. Если оставить в стороне крупные корпорации, инвестирующие в информационную безопасность значительные силы и средства, обнаружится, что для компрометации среднестатистических организаций сложных сценариев не требуется. Критические уязвимости часто находятся на поверхности. Статистика успешных пентестов тому подтверждение.
Чтобы подкрепить все вышесказанное практическим примером, рассмотрим типовую ситуацию, в которой оказывается каждый пентестер , и которая поможет проследить логику его действий.
Предположим, что в процессе выполнения анализа публичного веб-сервиса пентестер обнаружил критическую уязвимость в используемой версии PHP, связанную с переполнением. Он также выяснил, что для данной уязвимости в открытом доступе представлен только PoC (proof-of-concept)-код, реализующий относительно безобидный функционал. Как нужно поступить в этом случае?
Ответ на этот вопрос зависит от двух вещей: 1) какая модель предполагаемого злоумышленника рассматривается в рамках данного пентеста и 2) существуют ли более простые векторы атак на веб-сервис со схожим потенциалом. Если других векторов атак не просматривается, а в качестве предполагаемого злоумышленника выбран “темный хакер”, располагающий достаточным временем и упорством, но ограниченный в ресурсах, пентестер должен изучить данную уязвимость более пристально, чтобы найти ответ на вопрос, возможно ли на основании имеющихся данных создать функциональный эксплойт, обеспечивающий удаленное выполнение кода.
Теперь зададим себе вопрос: как изменится ситуация, если вместо публичного веб-сервера, где была обнаружена уязвимость, пентестер будет иметь дело с внутренним веб-сервером организации? Во-первых, изменится модель предполагаемого злоумышленника, во-вторых, с высокой вероятностью появятся другие перспективные векторы атак. Об этом говорит сайт https://intellect.icu . В данной ситуации предполагаемый внутренний злоумышленник вряд ли заинтересуется уязвимостью с неизвестными перспективами. Той же логикой должен руководствоваться и пентестер.
Попробуем еще усложнить постановку задачи. Предположим, что уязвимость обладает высоким потенциалом эксплуатации и потому была продана на черном рынке. Как должен поступить пентестер в этом случае? И снова многое зависит от модели предполагаемого злоумышленника. Если атакуемый веб-сервер представляет значительный интерес для предполагаемых злоумышленников, в качестве которых рассматривается организованная преступная группа, промышляющая, к примеру, хищением и продажей номеров банковских карт, необходимо исходить из того, что у такой группы могут быть все необходимые инструменты для эксплуатации данной уязвимости. Но среднестатистический пентестер не располагает тем же самым. Поэтому все, что он может сделать – это собрать так много информации о векторах атаки на данную уязвимость, сколько это возможно, и изложить в отчете известные ему детали, обеспечив доказательную базу сделанных им выводов.
На десерт рассмотрим ситуацию, при которой пентестер имеет дело с уязвимостью, которая требует проведения MitM-атаки для эксплуатации. Зачастую такие атаки требуют применения практик социальной инженерии в отношении работников атакуемой организации. Означает ли это, что пентестер должен пойти тем же путем? Однозначного ответа на этот вопрос нет. Если потенциальный злоумышленник менее лимитирован сроками, то пентестер жестко ограничен рамками контракта, в том числе временными. Хотя, скажем прямо, при продуманной организации работ и наличии необходимой инфраструктуры дополнительные затраты на компанию социальной инженерии невелики.
Так или иначе, выбор дополнительных опций пентеста всегда остается за заказчиком.
К аналогичному заключению пришли и участники Special Interest Group (PCI SSC SIG) во время работы над документом Penetration Testing Guidance. Ни одна из рассмотренных группой альтернатив не позволяет определить минимальный набор сценариев для тестирования, в равной степени применимых для любого заказчика. Таким образом, профилирование пентеста, определение конкретной методологии выполнения работ определяется в каждом конкретном случае индивидуально.
Рассмотренные выше примеры затрагивают лишь некоторые ситуации, с которыми сталкиваются пентестеры в повседневной работе. Логика, которой при этом руководствуются конкретные исполнители, зачастую непрозрачна и непонятна для заказчиков, а критерии принятия решений не оговорены. Многочисленные ограничения и допущения, сопровождающие большинство пентестов, оставляют ощущение недосказанности и бросают тень на полученный результат.
Так как же целесообразно трансформировать современные пентесты, чтобы привнести честность и прозрачность в этот бизнес?
Прежде всего, заказчик и исполнитель должны вместе подойти к выбору модели предполагаемого злоумышленника. Эта модель должна быть достаточно детализированной и максимально приближенной к реальности. С учетом того, какие сервисы и какие данные входят в область работ, необходимо определить профиль потенциального злоумышленника и его вероятные цели. Условия выполнения работ должен всегда определять заказчик. При этом необходимо помнить, что модель предполагаемого злоумышленника определяет максимальный уровень сложности выполняемого пентеста. Ограничением же снизу является уже упомянутый принцип простоты, согласно которому при выполнении работ исполнитель двигается от более простых векторов атак (например, подбор примитивных и стандартных административных паролей) к более сложным (к примеру, социальная инженерия с использованием специально подготовленного вредоносного кода). Политика тестирования сценариев проникновения также должна быть упомянута в условиях контракта. Распространенной является практика, при которой пентестер останавливает работы, если, тестируя один из сценариев, был достигнут положительный результат (достигнута цель пентеста). Представляется логичным, что наращивание уровня сложности необходимо лишь в том случае, если более простые векторы атак не привели к желаемому результату.
Состав реализуемых сценариев атак для конкретной модели предполагаемого злоумышленника – это внутренняя кухня исполнителя. В развитии именно этого подхода заключается будущее пентестов. Совершенствование сценарного подхода связано как с эволюционирующей моделью злоумышленника, так и новыми техниками проведения атак, а также уровнем развития технологий в целом. Если простые сценарии атак остаются практически неизменными, то выполнение сложных атак, реализуемых наиболее опасными злоумышленниками, является объективной необходимостью для заказчика и конкурентным преимуществом исполнителя.
Рис. 2. Наиболее распространенные уязвимости внешней сети
Рис. 3. Наиболее распространенные уязвимости внутренней сети
Начнем с начала. Пентестера можно называть как угодно: « этичный хакер », « тестировщик безопасности систем », « специалист по проверке работоспособности », « специалист по информационной безопасности ». От этого его функции не меняются.
Пентестер — это в первую очередь программист и инженер, который тестирует уязвимости информационной системы.
Хакер ищет уязвимости, чтобы их использовать: скачать личные данные, пароли и секретную информацию, доступы к финансовым счетам или внутренней документации. Пентестер ищет уязвимости, чтобы помочь компании от них избавиться. При этом инструменты и техники проникновения могут быть одинаковыми, но цели и принципы отличаются кардинально.
В пул задач пентестера входит:
Тест сети и приложений на уязвимости. Найти дырку в информационной системе крупной компании не так сложно. Куда сложнее понять:
Почему дырка именно здесь: банальная ошибка, лень, незнание технологии.
К чему может привести ее использование хакером: потеря данных, проникновение в систему с рут-доступом, слив личной информации клиентов и сотрудников. Пентестер ведь не имеет права использовать уязвимость даже в тестовом формате. Поэтому просто проверить не получится.
Как исправить уязвимость, чтобы проблема не вылезла в другом месте и не стала еще более серьезной.
Ведение отчетов по всем проведенным тестам и найденным уязвимостям с подробным их описанием.
Разработка общей политики информационной безопасности компании и отдельных сотрудников.
Пентестер еще до начала работы связан договорами. Его работа и разрешенные тесты четко регламентированы и отступать от них он не имеет права.
Если в соглашении прописан только тест веб-приложения, то даже попытка взлома базы данных — это уже преступление.
Есть 3 основных пути, по которым может пойти тестировщик безопасности:
Присоединиться к команде пентестеров или войти в отдел пентеста крупной компании. Из плюсов здесь полная защищенность со стороны закона, но зарплата не будет особо отличаться от средней в IT-сфере.
Открыть ИП и работать по договору. По деньгам здесь можно заработать гораздо больше, но юридические вопросы полностью ложатся на плечи специалиста. Нередки случаи, что за уязвимости, найденные не там, где это было прописано в договоре, пентестеры получали не премию, а уголовное преследование.
Работать на Bug Bounty. Оферты для приглашения пентестеров на специальных ресурсах. Нашел баг или уязвимость — получай заранее определенную оплату. Принять участие может любой специалист, главное - придерживаться условий пентеста, которые подробно прописаны в оферте.
Критерии этичности хакинга:
Ключевая идея этичного хакинга «Знай̆ врага и знай̆ себя, и ты пройдешь сотню битв без поражений» Сунь Цзы
Типы тестирования на проникновение
По объему предоставляемой аудитору информации о тестируемой системе: • черный ящик; • серый ящик; • белый ящик.
По расположению аудитора относительно сетевого периметра исследуемой системе: • внешнее; • внутреннее.
По степени осведомленности персонала исследуемого объекта: • с уведомлением администраторов тестируемого объекта; • без уведомления администраторов тестируемого объекта; • без уведомления администраторов и специалистов по безопасности тестируемого объекта.
Внешнее тестирование на проникновение
Тип тестирования | Описание |
Тестирование внешнего периметра сети | Анализ включает только внешние IP-адреса компании, доступные из Интернет |
Тестирование WEB сайтов | Анализ включает в себя только WEB-сайты и сервисы компании, доступные неограниченному кругу внешних пользователей |
Тестирование специализированных приложений | Анализ включает различные приложения, доступные внешним пользователям и взаимодействующие с серверами компании |
Тестирование сотрудников на устойчивость к методам социальной инженерии |
Попытка получения доступа к системам компании с использованием методов социальной инженерии. Оценка уровня осведомленности сотрудников в вопросах ИБ |
Тестирование беспроводных сетей |
Анализ возможностей злоумышленника, находящегося в зоне радиовидимости беспроводных сетей компании, но не имеющего санкционированного к ним подключения |
Имитация «утерянного» корпоративного устройства | Анализ возможностей потенциального злоумышленника, завладевшего корпоративным мобильным устройством |
Внутреннее тестирование на проникновение
Тип тестирования | Описание |
Тестирование внутреннего периметра |
Оценка возможностей злоумышленника имеющего санкционированный ограниченный доступ к корпоративной сети, аналогичный уровню доступа рядового сотрудника или гостя, имеющего доступ только в гостевой сегмент, либо же имеющего доступ только к сетевой розетке |
Тестирование отдельного компонента/системы |
WEB-приложения, ERP, СУБД В ходе внутреннего тестирования может использоваться как ноутбук аудитора, так и стандартное рабочее место заказчика теста. При анализе отдельной системы аудитору может быть предоставлен доступ из под учетной записи с ограниченными правами, только сведения об IP-адресах серверов или код приложения. |
Критерии завершения теста на проникновение
Этапы теста на проникновение
Этапы теста на проникновение. Сбор информации об объекте исследования. Пассивные методы
Этапы теста на проникновение. Сбор информации об объекте исследования. Активные методы
Этапы теста на проникновение. Поиск уязвимостей Поиск уязвимостей может проводится как вручную, так и с использование различных сканеров. Зачастую применяется оба метода.
Какие уязвимости находятся и используется чаще всего в ходе внешних тестов на проникновение По данным компании Positive Technologies
Применение методов социальной инженерии в ходе Тестов на проникновение
Применяемые методы:
• рассылка сообщений по электронной почте от имени внутренних сотрудников, авторитетных лиц (руководители компании, акционеры), контрагентов, гос. органов с вложенными вредоносными файлами или ссылками на вредоносный ресурс;
• вишинг, фишинг;
• подкидывание якобы утерянных носителей информации, устройств, эмулирующих клавиатуру, сопряженных с носителем информации.
Уровень осведомленности пользователей
Этапы теста на проникновение. Эксплуатация уязвимостей
Для эксплуатации уязвимостей аудитор может использовать эксплойты собственной разработки, публично доступные эксплойты, фреймворки для тестирования на проникновение.
Базы эксплойтов:
Фреймворки для проведения тестов на проникновение:
Positive Technologies Exploit Explorer утилиты автоматизация поиска публично-доступных эксплойтов ро отчетам сканеров защищенности
Этапы теста на проникновение. Разработка отчета По результатам теста на проникновение обязательно оформляется отчет, который должен содержать:
. Методологии проведение тестов на проникновение
36. Как научиться проводить тесты на проникновение?
EC-Council Обучающая программа Сертификационный экзамен Certified Ethical Hacker (CEH) CEH, тест Certified Security Analyst (ECSA) ECSA, тест - LPT (Licensed Penetration Tester), практический, нужно взломать подготовленную организаторами систему Для тестовых экзаменов (ECSA, CEH) в сети легко находятся дампы ответов. Можно обучиться и сдать экзамен в России.
Как научиться проводить тесты на проникновение? Обучающие и сертификационные программы Offensive Security Обучающая программа Сертификационный экзамен Penetration Testing with Kali Linux (PWK) Offensive Security Certified Professional (OSCP) Offensive Security Wireless Attacks (WiFu) Offensive Security Wireless Professional (OSWP) Cracking the Perimetr (CTP) Offensive Security Certified Expert (OSCE) Advanced Windows Exploitation (AWE) Offensive Security Exploitation Expert (OSEE) Advanced Web Attacks & Exploitation (AWAE) Offensive Security Web Expert (OSWE) Metasploit Unleashed (MSFU) на данный момент стал бесплатным - Обучение и сдача экзаменов online, кроме AWE и AWAE. Все экзамены – это практические задания. По окончанию нужно написать отчет (на английском языке).
SEC504: Hacker Tools, Techniques, Exploits and Incident Handling GIAC Certified Incident Handler (GCIH) SEC542: Web App Penetration Testing and Ethical Hacking GIAC Web Application Penetration Tester (GWAPT) SEC560: Network Penetration Testing and Ethical Hacking GIAC Penetration Tester (GPEN) SEC567: Social Engineering for Penetration Testers - SEC573: Python for Penetration Testers - SEC580: Metasploit Kung Fu for Enterprise Pen Testing - SEC617: Wireless Ethical Hacking, Penetration Testing, and Defenses GIAC Assessing and Auditing Wireless Networks (GAWN)
SEC642: Advanced Web App Penetration Testing and Ethical Hacking - SEC660: Advanced Penetration Testing, Exploit Writing, and Ethical Hacking GIAC Exploit Researcher and Advanced Penetration Tester (GXPN) SEC760: Advanced Exploit Development for Penetration Testers GIAC Penetration Tester (GPEN) SEC561: Immersive Hands-On Hacking Techniques - SEC575: Mobile Device Security and Ethical Hacking GIAC Mobile Device Security Analyst (GMOB)
Самостоятельное обучение
Как научиться проводить тесты на проникновение? CTF Типы:
Могут проводится:
. Как научиться проводить тесты на проникновение? Jeopardy CTF Игрокам предоставляется набор заданий (тасков), к которым требуется найти ответ и отправить его. Ответом является флаг — набор символов или произвольная фраза. Каждое задание оценивается различным количеством очков, в зависимости от сложности.
Обычно выделяются следующие категории:
. Как научиться проводить тесты на проникновение? Jeopardy CTF
Как научиться проводить тесты на проникновение? Attack/Defense CTF
В Attack/Defense CTF каждая команда получает выделенный сервер или небольшую сеть для поддержания ее функционирования и защиты. Во время игры команды получают очки за корректную работу и защиту сервисов своего сервера и за украденную информацию (флаги) с серверов противников. Флаги периодически кладутся на сервера команд специальным ботом. Команды могут делать что угодно со своим персональным сегментом сети. Как правило, команды заняты поиском и закрытием уязвимостей в сервисах и организацией мониторинга и/или автоматической фильтрации трафика для блокирования атак других команд (исключая блокировку по признакам команд). И команды могут атаковать другие команды (кроме DDoS атак).
Как научиться проводить тесты на проникновение? Attack/Defense CTF
Как научиться проводить тесты на проникновение?
CTF, эмулирующие реальную ИТ-инфраструктуру В данного типа CTF организаторами эмулируются ИТ-инфраструктуры, близкие к инфраструктурам реальных компаний. Т.е. используются типовые для корпоративных сетей архитектуры и сетевые сервисы. Задача участников – провести тест на проникновение эмулированной инфраструктуры, попутно собирая флаги. Примеры таких CTF
Как научиться проводить тесты на проникновение? CTF, эмулирующие реальную ИТ-инфраструктуру
Прочтение данной статьи про испытание на проникновение позволяет сделать вывод о значимости данной информации для обеспечения качества и оптимальности процессов. Надеюсь, что теперь ты понял что такое испытание на проникновение, пентест, пентестер, этичный хакер, тестировщик безопасности систем, специалист по проверке работоспособности, специалист по информационной безопасности и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Вредоносное ПО и защита информации
Ответы на вопросы для самопроверки пишите в комментариях, мы проверим, или же задавайте свой вопрос по данной теме.
Комментарии
Оставить комментарий
Информационная безопасность, Вредоносное ПО и защита информации
Термины: Информационная безопасность, Вредоносное ПО и защита информации