О мероприятии
Участники воркшопа увидят примеры атак на системы CI/CD, взлом которых часто остается за рамками классических пентестов. На практических примерах мы покажем особенности безопасности некоторых компонентов CI/CD и техники атак на них. Вы узнаете какие возможны угрозы безопасности CI/CD; посмотрите модели безопасности GitLab; оцените способ реализации различных Gitlab CI экзекьютеров и атаки на них: • shell • docker • k8s • dind Вы научитесь проводить атаки из Gitlab CI на shared runner; изучать доступное окружение раннеров; выходить из контейнеров; поднимать свои привилегии в kubernetes.
Программа
- Attack 1 — Shell Runner — расмотрим пример атаки на разделяемый Shell Runner, получим доступ к секрету соседней джобы и с его помощью выполним команды на третьем сервере
- Attack 2 — Docker Runner — расмотрим пример атаки на разделяемый Docker Runner, выйдем из контейнера и захватим раннер, а также подменим артефакт и захватим «прод»
- Attack 3 — Deploy k8s runner — расмотрим пример атаки на разделяемый K8s Runner, предназначенный для деплоя, повысим свои привилегии в k8s и полностью захватим кластер
- Attack 4 — Dind k8s runner — расмотрим пример атаки на разделяемый Dind K8s Runner, выйдем из контейнера и захватим ноду
Bonus attack — Атака на DinD раннер, которая не требует никаких привилегий ни в CI/CD ни в k8s. Нужен только сетевой доступ в k8s
- Умение читать специализированную документацию и техническую литературу на английском языке (можно со словарем)
- Наличие представления о взаимодействии компьютеров в сети
- Базовые знания GitLab CI, Kubernetes и Docker
- Microsoft Teams
- Браузер Chrome или Mozilla Firefox
Не обязательно, но рекомендуется:
- Сервер в интернете с белым IP-адресом (будет предоставлена возможность подключения, но лучше использовать свой) с установленным netcat
- kubectl для развертывания приложений
- Docker
Для комфортного прохождения воркшопа и сохранения всех полученных материалов
- Не менее 8 ГБ DDR3 оперативной памяти
- Процессор не менее восьми ядер с частотой не менее 2.3 Ггц
- Жесткий диск SSD со свободным местом не менее 256 ГБ
- Поддержка аппаратной виртуализации (Intel VT-x, AMD-V)
- Дополнительный — второй монитор (Диагональ от 17 дюймов, разрешением от 1280×720p c частотой обновления от 60 Гц)
- Современная операционная система (Минимально: Windows 10 x64, Linux, MacOS 10.13.6)
- Доступ к тестовой инфраструктуре CI/CD
- Методические рекомендации по выполнению атак
Павел Сорокин
Ведущий инженер по ИБ, Ozon.
Работал пентестером в «Информзащите» и BI.ZONE, после этого перешел в Application Security, а затем в «Яндекс» и Ozon.
Павел регулярно выступает на отраслевых конференциях по кибербезопасности.
Публичные доклады:
- GraphQL applications security testing automatization (ZeroNights 2019)
- PDO и проблемы, которые может вызвать 0 byte (ZeroNights 2021)
- OPA с Docker executor (БЕКОН 2023)
Ключевые компетенции:
- Защита веб-приложений
- Безопасная разработка приложений
- Тестирование на проникновение
- Аудит защищенности