# **Тестирование на проникновение**
# *Методология*
1. *Penetration Testing Execution Standard (PTES)* - это стандарт, разработанный специально для тестирования на проникновение. Он определяет процесс тестирования на проникновение, включая планирование, сбор информации, анализ уязвимостей, эксплуатацию уязвимостей и доказательство конечного результата.
2. *Open Source Security Testing Methodology Manual (OSSTMM)* - это методология, которая предоставляет стандарты для тестирования на проникновение и оценки безопасности. Она содержит широкий спектр методов и техник для проведения тестирования, включая физическую безопасность, социальную инженерию, тестирование приложений и тестирование сетевой безопасности.
3. *NIST Special Publication 800-115* - это руководство по тестированию на проникновение, разработанное Национальным институтом стандартов и технологий (NIST). Оно определяет процесс тестирования на проникновение, включая планирование, сбор информации, анализ уязвимостей, эксплуатацию уязвимостей и доказательство конечного результата.
4. *Information Technology Infrastructure Library (ITIL)* - это набор методологий для управления IT-сервисами. В рамках ITIL присутствует процесс тестирования на проникновение, который включает определение целей, выбор методов тестирования, проведение тестирования и документирование результатов.
5. *Red Team Testing* - это методология, которая используется для симуляции атаки на систему. Она включает в себя использование различных техник, таких как социальная инженерия, фишинг, эксплойты уязвимостей и т.д. Она позволяет оценить реакцию организации на реальную атаку и выявить слабые места в системе.
6. *Open Web Application Security Project (OWASP)* — открытое интернет-сообщество, которое предлагает самую исчерпывающую методологию для тестирования приложений, сайтов и API.
7. *ISSAF Information System Security Assessment Framework (ISSAF)* разработан Open Information Systems Security Group (OISSG). Документ охватывает большое количество вопросов, связанных с информационной безопасностью. В ISSAF приведены подробные рекомендации по тестированию на проникновение. Описаны утилиты, которыми можно провести пентест, указания по их использованию, а также подробно разъяснено, какие результаты и при каких параметрах можно получить в результате тестирования. ISSAF считается достаточно сложной и подробной методологией, которую можно адаптировать для проверки информационной безопасности любой организации. Каждый этап тестирования согласно ISSAF тщательно документируется. Также даны рекомендации по использованию конкретных инструментов на каждом из этапов.
Нельзя сказать какую методику применяем чаще или реже т.к. данный момент уточняется на этапе формирования ТЗ от Заказчика либо совместно с ним до проведения тестирования на проникновение.
---
# **Основные инструменты**
1. Сканеры уязвимостей - программы, которые сканируют сеть или приложение на наличие уязвимостей.
2. Эксплойты - программы, которые используют уязвимости для получения доступа к системе.
3. Фаззеры - программы, которые генерируют случайные данные и отправляют их на приложение для проверки на уязвимости.
4. Инструменты для перехвата трафика - программы, которые могут перехватывать и анализировать сетевой трафик для обнаружения уязвимостей.
5. Инструменты для анализа кода - программы, которые анализируют исходный код приложения для обнаружения уязвимостей.
6. Социальная инженерия - методы, использующие психологические приемы для получения информации или доступа к системам, сюда же можно включить фишинг и вишинг.
7. Физические тесты - методы, использующие физический доступ к системе для получения информации или доступа к ней.
8. Если происходит анализ беспроводных сетей также испольуем программно-аппаратные "комплексы" - ноутбук с беспроводным адаптером например Alfa AWUS036NH Для анализа защищенности WiFi-сетей программы, такие как Aircrack-ng или Wireshark. Они позволяют перехватывать и анализировать трафик в беспроводных сетях, а также проводить атаки на защищенные сети, чтобы определить уровень их безопасности.
Если интересуют конкретные инструменты то нет определенных страндартов и каждый специалист использует свой набор инструментария как и каждый механик имеет свой набор инструментов в зависимости от того занимается он перебором ДВС или ремонтирует подвеску. Есть определенный стандартный набор, а дальше уже у каждого свое. Из основ: Nmap, Metasploit, Wireshark, Hydra, Burp Suite, Maltego, Nikto, Sqlmap, Cobalt Strike, Empire и многие-многие другие. Не редко используется самописный софт например если мы используем DLL-hijack разрабатываемый для эксплуатации на опеределeнной системе "под ключ".
---
# **Основные шаги совершаемые при тестировании на проникновении**
# *Тестировании на проникновении внешней ИТ-инфраструктуры*
1. Сбор информации: Определение IP-адресов, URL-адресов, доменных имен, поиск открытых портов и другой информации об инфраструктуре, поиск по слитым данным.
2. Анализ уязвимостей: Использование инструментов для сканирования и определения уязвимостей в системах и приложениях.
3. Эксплуатация уязвимостей: Попытки взлома системы с использованием найденных уязвимостей.
4. Получение доступа: Попытки получения доступа к системе или приложению с помощью украденных учетных данных или других методов.
5. Установка "backdoor": Установка программного обеспечения на системе, чтобы иметь возможность повторно получить доступ без необходимости повторной аутентификации.
6. Оформление отчета: Создание отчета о найденных уязвимостях и рекомендации по их устранению.
# *Тестировании на проникновении внутренней ИТ-инфраструктуры*
1. Сбор информации информацию о системе, ее компонентах, уязвимостях и слабых местах, сканирование сети, составление ее карты, поиск основновных компонентов ИТ-инфраструктуры (сервера, маршрутизаторы/коммутаторы и т.п.).
2. Анализ уязвимостей системы, используя инструменты для сканирования портов, обнаружения уязвимостей и другие технологии.
3. Эксплуатация уязвимостей для получения доступа к системам.
4. Получение доступа.
5. Поиск дополнительных уязвимостей и слабых мест в системе.
6. Оформление отчета о найденных уязвимостях, предложение рекомендаций по их устранению и предоставление рекомендаций по улучшению безопасности системы.
# *Тестировании на проникновение и анализ защищенности веб-ресурсов или веб-приложений*
1. Подготовительный этап:
- Проведение исследования целевой системы
- Сбор информации о приложении и его компонентах
- Определение уязвимостей и рисков
2. Этап сканирования:
- Использование сканеров уязвимостей, таких как Acunetix, Burp Suite, OpenVAS, Nessus и др.
- Проверка конфигурации сервера и сетевых настроек
3. Этап эксплуатации:
- Использование инструментов для перехвата трафика
- Использование инструментов для взлома паролей
- Проверка возможности выполнения команд на удаленном сервере
4. Этап анализа результатов:
- Анализ отчетов сканеров уязвимостей
- Анализ журналов доступа и других логов
- Проверка результатов тестирования на соответствие стандартам безопасности, таким как OWASP Top 10 или PCI DSS
Что делают/смотрят чаще всего:
- инъекции (Injections);
- раскрытие конфиденциальных данных (Sensitive Data Explosure);
- XSS - Межсайтовый скриптинг (Cross-Site Scripting);
- недостатки системы аутентификации (Broken Authentication).
# *Анализ защищенности ИТ-инфраструктуры*
1. Сбор информации о системе и ее компонентах - это включает в себя сбор информации о серверах, сетевых устройствах, приложениях, базах данных и т.д.
2. Определение уязвимостей - на этом этапе используются инструменты сканирования уязвимостей, которые проверяют систему на наличие известных уязвимостей и проблем безопасности.
3. Анализ результатов - после сканирования уязвимостей, проводится анализ результатов, чтобы определить, какие уязвимости являются наиболее критическими и требуют немедленной поправки.
4. Разработка плана действий - на основе результатов анализа, разрабатывается план действий, который включает в себя рекомендации по устранению уязвимостей и улучшению безопасности системы.
5. Реализация мер безопасности - после разработки плана действий, необходимо реализовать рекомендации по устранению уязвимостей и улучшению безопасности системы.
6. Проверка эффективности мер безопасности - после реализации мер безопасности, следует провести проверку эффективности принятых мер. Это может быть сделано путем повторного сканирования уязвимостей или тестирования на проникновение.
# *Анализ защищенности WiFi-сетей*
1. Сканирование доступных WiFi-сетей в радиусе действия. Затем проводится анализ уровня защиты каждой из сетей, определяется используемый тип шифрования (WEP, WPA, WPA2), и проводится попытка взлома пароля.
2. Для взлома пароля WiFi-сети используются такие методы, как перебор паролей, атака по словарю, атака с использованием ранее украденных ключей, атака с помощью подбора PIN-кода, атака с использованием уязвимостей в протоколах шифрования и т.д.
3. После взлома пароля проводится анализ доступности сети извне, проверяется наличие уязвимостей и возможность проведения атак на клиентов сети.
---
Также отдельно хочу выделить OSINT перед проникновением в систему.
# *OSINT*
*OSINT (Open Source Intelligence) - это сбор и анализ информации из открытых источников, таких как социальные сети, форумы, блоги, новостные сайты и другие интернет-ресурсы. При тестировании на проникновение OSINT может использоваться для получения информации о целевой организации, ее сотрудниках, инфраструктуре и системах.*
Процесс OSINT при тестировании на проникновение может включать следующие шаги:
1. Сбор информации о целевой организации: название компании, адрес, номера телефонов, электронные адреса и другие контактные данные.
2. Анализ профилей сотрудников в социальных сетях и других открытых источниках: это может помочь определить, кто работает в организации, какие у них должности, какие системы они используют и другую полезную информацию.
3. Анализ форумов и блогов: поиск информации о системах, которые используются в организации, о возможных уязвимостях и другой важной информации.
4. Анализ новостных сайтов: поиск информации о последних событиях, связанных с организацией, например, о нарушениях безопасности, сбоях в работе систем и т.д.
5. Анализ документов и отчетов: поиск информации в открытых источниках, например, в годовых отчетах, пресс-релизах, документации и других публичных источниках.
6. Поиск по базам слитых данных на утечки по адресам электронной почты, паролям и другим данным.
В результате проведения OSINT-анализа, тестировщик получает больше информации о целевой организации, что может помочь ему выявить уязвимости и разработать эффективные эксплойты для их использования в т.ч. использовать полученные данные для успешного проведения атак с использованием методов социальной инженерии.
Социальная инженерия - это методы манипулирования людьми с целью получения доступа к конфиденциальной информации или системе. При проведении тестирования на проникновение, тестировщики могут использовать следующие приемы социальной инженерии:
1. Фишинг - это отправка ложных электронных писем или сообщений по электронной почте, социальных сетях, мессенджерах и т.д. с целью обмануть пользователей и получить доступ к их учетным записям или конфиденциальной информации.
2. Вишинг - техника, при которой используются телефонные звонки или голосовые сообщения для обмана людей и получения от них конфиденциальной информации, например, пароля или кода подтверждения. Вишинг может осуществляться как автоматически с помощью робоколлов, так и вручную через социальную инженерию. Вишинг является одной из форм фишинга.
3. Использование взломанных аккаунтов - тестировщики могут использовать украденные учетные записи для входа в систему и получения доступа к конфиденциальной информации.
4. Техника доверия - это метод, при котором тестировщики создают ложную личность и устанавливают доверительные отношения с сотрудниками организации, чтобы получить доступ к конфиденциальной информации или системе.
5. Физический доступ - тестировщики могут использовать техники взлома замков, использование поддельных пропусков (например клонирование пропусков при использовании слабозащищенных СКУД либо их взлома и создания нелегитимного пропуска) или обман охраны для получения физического доступа к офису или серверной комнате.
# **Время на выполнение**
*Все задачи уникальны. Средний срок исполнения от 10 до 90 рабочих дней. Но опять же сроки могут варьироваться от степени проработки тестирования до объема тестируемых систем.*
# **Результаты тестирования на проникновение**
- Выбранная методика для тестирования
- Оценка критичности обнаруженных уязвимостей по методике Common Vulnerability Scoring System (CVSS)
- Описание хода тестирования
- Описание выявленных уязвимостей и результаты их эксплуатации
- Описание выявленных недостатоков СУИБ
- Выводы для руководства и реокмендации по устранению найденных уязвимостей
Далее должны подключится системные архитекторы, специалисты по бюрократической защите (по необходимости) для построение СУИБ включающего в себя как программные, программно-аппаратные решения по обеспечению иформационной безопасности так и ОРД (по необходимости) и методические указания либо проведение обучения по противодействию соц. инженерии или другим атакам через сотрудников компании Заказчика.