Pentest in Docker, Secure Gitlab pipeline and Archdays 2020
Пришло время следующего анонса. 20 ноября мы с Пашей Канн (@shad0wrunner) выступаем на Archdays 2020, где покажем сценарий атаки на приложение в Docker. Специально для конференции мы подготовили репо Pentest-In-Docker, где вы можете самостоятельно шаг за шагом (которые детально описаны в readme) повторить эксплуатацию уязвимости. Есть вариант на русском.
Сценарий предполагает следующие шаги:
- Эксплуатация RCE в Bash (Shellshock)
- Повышение привилегий до root в контейнере через pip
- Создание своей ubuntu с ssh через docker.sock
- Смена контейнера и создание рута на хосте
- Побег из контейнера
- Развертывание Weave Scope для захвата инфры
Для реализации достаточно иметь виртуалку с docker на базе linux.
Образ также может быть использован для пилотирования коммерческих и не очень решений по Container Security, чтобы посмотреть, как они обнаруживают вредоносные действия. Паша, в свою очередь, покажет на воркшопе, как развернуть Gitlab с встроенными проверками Hadolint, Trivy и Dockle. Репо с пайплайном также есть уже на Github.
Вот, кстати, промо-код на скидку -50% для регистрации: DevSecOpsWine
https://archdays.ru/speakers/#track-bezopasnost-v-raspredelennyh-sistemah
#ops #docker #talks #attack
Пришло время следующего анонса. 20 ноября мы с Пашей Канн (@shad0wrunner) выступаем на Archdays 2020, где покажем сценарий атаки на приложение в Docker. Специально для конференции мы подготовили репо Pentest-In-Docker, где вы можете самостоятельно шаг за шагом (которые детально описаны в readme) повторить эксплуатацию уязвимости. Есть вариант на русском.
Сценарий предполагает следующие шаги:
- Эксплуатация RCE в Bash (Shellshock)
- Повышение привилегий до root в контейнере через pip
- Создание своей ubuntu с ssh через docker.sock
- Смена контейнера и создание рута на хосте
- Побег из контейнера
- Развертывание Weave Scope для захвата инфры
Для реализации достаточно иметь виртуалку с docker на базе linux.
Образ также может быть использован для пилотирования коммерческих и не очень решений по Container Security, чтобы посмотреть, как они обнаруживают вредоносные действия. Паша, в свою очередь, покажет на воркшопе, как развернуть Gitlab с встроенными проверками Hadolint, Trivy и Dockle. Репо с пайплайном также есть уже на Github.
Вот, кстати, промо-код на скидку -50% для регистрации: DevSecOpsWine
https://archdays.ru/speakers/#track-bezopasnost-v-raspredelennyh-sistemah
#ops #docker #talks #attack
GitHub
GitHub - Swordfish-Security/Pentest-In-Docker: Docker image to exploit RCE, try for pentest methods and test container security…
Docker image to exploit RCE, try for pentest methods and test container security solutions (trivy, falco and etc.) - GitHub - Swordfish-Security/Pentest-In-Docker: Docker image to exploit RCE, try...
Rootless containers
Нашел на просторах Интернета небольшой сайт Rootless Containers, который отражает прогресс решения задачи по работе с контейнерами без root в разных проектах.
В качестве примеров:
- Встроенные возможности Docker на разных версиях
- Podman rootless-mode
- BuildKit rootless-mode
- LXC unprivileged-mode
- Singularity fakeroot-mode
Есть также ряд сценариев, которые не попали в rootless, так как используются SETUID бинари или run-time контейнера продолжает работать от рута:
- Kaniko
- Makisu
- работа с docker.sock через группу
Для k8s rootless остается пока где-то в будущем. На текущий момент такая возможность есть только в Usernetes и k3s, которые не применимы для продакшн сред. Для решения rootless задачи они используют RootlessKit.
#docker #ops #k8s
Нашел на просторах Интернета небольшой сайт Rootless Containers, который отражает прогресс решения задачи по работе с контейнерами без root в разных проектах.
В качестве примеров:
- Встроенные возможности Docker на разных версиях
- Podman rootless-mode
- BuildKit rootless-mode
- LXC unprivileged-mode
- Singularity fakeroot-mode
Есть также ряд сценариев, которые не попали в rootless, так как используются SETUID бинари или run-time контейнера продолжает работать от рута:
- Kaniko
- Makisu
- работа с docker.sock через группу
docker
и —userns-nemap
режимДля k8s rootless остается пока где-то в будущем. На текущий момент такая возможность есть только в Usernetes и k3s, которые не применимы для продакшн сред. Для решения rootless задачи они используют RootlessKit.
#docker #ops #k8s
Docker Documentation
Rootless mode
Run the Docker daemon as a non-root user (Rootless mode)
No dockershim in k8s, what about security?
Громкая новость, что в kubernetes 1.20 будет выпилен dockershim как high-level runtime. Таким образом, к концу 2021 году всем необходимо будет перейти на cri-o или containerd.
Через некоторое время появляется страница в официальной документации k8s:
Don't Panic: Kubernetes and Docker
А чтобы разобраться, что это вообще такое, советую взглянуть на следующие материалы:
- How Container Runtimes matter in Kubernetes?
- Diving Deeper Into Runtimes: Kubernetes, CRI, and Shims
С точки зрения security советую вам посмотреть следующее видео:
Security Considerations for Container Runtimes
Если коротко, то первое, в чем выиграет безопасность, так это отсутствие
#k8s #ops #docker
Громкая новость, что в kubernetes 1.20 будет выпилен dockershim как high-level runtime. Таким образом, к концу 2021 году всем необходимо будет перейти на cri-o или containerd.
Через некоторое время появляется страница в официальной документации k8s:
Don't Panic: Kubernetes and Docker
А чтобы разобраться, что это вообще такое, советую взглянуть на следующие материалы:
- How Container Runtimes matter in Kubernetes?
- Diving Deeper Into Runtimes: Kubernetes, CRI, and Shims
С точки зрения security советую вам посмотреть следующее видео:
Security Considerations for Container Runtimes
Если коротко, то первое, в чем выиграет безопасность, так это отсутствие
CAP_NET_RAW
в качестве дефолтного capability, при этом сохраняется возможность делать ping
внутри контейнера. Это должно решить проблему с CVE-2020-14386 и возможностью проведения MiTM атак.#k8s #ops #docker
GitHub
kubernetes/CHANGELOG/CHANGELOG-1.20.md at master · kubernetes/kubernetes
Production-Grade Container Scheduling and Management - kubernetes/kubernetes
Threat Alert: Fileless Malware Executing in Containers
Команда Nautilus Team обнаружила образы в Docker Hub, которые могут разворачивать так называемый "безфайловый" вредоносный софт на хостах. Образы были созданы уже известной группировкой TeamTNT, про которую я рассказывал на DevOpsFest.
В рамках атаки вредоносный образ на базе Busybox пытается развернуть на хосте малварь, которая упакована с помощью UPX и ezuri, шифруя таким образом содержимое. Все это создает сложности при определении вредоноса через AV. Далее запускается руткит для сокрытия новых процессов.
В итоге получается, что вся вредоносная активность выполняется из памяти, что вынуждает идти по пути отслеживания run-time, а не проверки имаджей.
Тут, кстати, для меня было открытие, что оказывается Aqua выпустила недавно новый open-source инструмент Tracee, который использует eBPF для отслеживания сисколов.
#k8s #ops #docker #attack
Команда Nautilus Team обнаружила образы в Docker Hub, которые могут разворачивать так называемый "безфайловый" вредоносный софт на хостах. Образы были созданы уже известной группировкой TeamTNT, про которую я рассказывал на DevOpsFest.
В рамках атаки вредоносный образ на базе Busybox пытается развернуть на хосте малварь, которая упакована с помощью UPX и ezuri, шифруя таким образом содержимое. Все это создает сложности при определении вредоноса через AV. Далее запускается руткит для сокрытия новых процессов.
В итоге получается, что вся вредоносная активность выполняется из памяти, что вынуждает идти по пути отслеживания run-time, а не проверки имаджей.
Тут, кстати, для меня было открытие, что оказывается Aqua выпустила недавно новый open-source инструмент Tracee, который использует eBPF для отслеживания сисколов.
#k8s #ops #docker #attack
Лучшие практики при написании безопасного Dockerfile
Выпустил следующую статью на Хабр, в которой постарался агрегировать лучшие практики по написанию безопасного Dockerfile. В статье:
- Почему
- Как скачивать компоненты из Интернета при сборке образа, избегая MiTM атаки
- Почему нужно задавать
- Затронута тема минимальных и Distroless образов
- Безопасная работа с секретами (multi-stage сборка, фича BuildKit, проблемы рекурсивного копирования)
- Существующие анализаторы Dockerfile
- Разные полезные доп. материалы
https://habr.com/ru/company/swordfish_security/blog/537280/
#dev #docker
Выпустил следующую статью на Хабр, в которой постарался агрегировать лучшие практики по написанию безопасного Dockerfile. В статье:
- Почему
COPY
, лучше чем ADD
- Полезные лейблы (securitytxt
)- Как скачивать компоненты из Интернета при сборке образа, избегая MiTM атаки
- Почему нужно задавать
USER
в конце и как может помочь gosu- Затронута тема минимальных и Distroless образов
- Безопасная работа с секретами (multi-stage сборка, фича BuildKit, проблемы рекурсивного копирования)
- Существующие анализаторы Dockerfile
- Разные полезные доп. материалы
https://habr.com/ru/company/swordfish_security/blog/537280/
#dev #docker
Хабр
Лучшие практики при написании безопасного Dockerfile
В данной статье мы рассмотрим небезопасные варианты написания собственного Dockerfile, а также лучшие практики, включая работу с секретами и встраивание инструментов статического анализа. Тем не менее...
pf-2021-container-security-and-usage-report.pdf
1.3 MB
Sysdig 2021 container security and usage report
Sysdig выпустила большой отчет об использовании контейнерных технологий и обеспечении их безопасности. Отчет формировался на базе информации от клиентов Sysdig.
Статью со сводной информацией можно прочитать здесь.
Коротко:
- 49% контейнеров живут меньше 5 минут, 21% менее 10 секунд
- 74% клиентов сканируют образы в CI/CD, при этом 58% контейнеров запускаются от рута
- Рост использования containerd и CRI-O в 2 раза за 2020 год
- 53% уязвимостей программных компонентов (библиотеки PIP, Ruby и тд) обладают высоким уровнем критичности. Для ОС-компонентов только 4% из всех уязвимостей обладают высоким уровнем критичности.
- Рост использования Falco в 3 раза за 2020 год. Рост использования Prometheus на 16% за 2020 год. И то и то очень удачно вписывается в продажи Sysdig ;)
В отчете очень много информации, которая не относится к security вроде числа нод, подов на хост, статистики алертов и тд.
#ops #k8s #docker #report
Sysdig выпустила большой отчет об использовании контейнерных технологий и обеспечении их безопасности. Отчет формировался на базе информации от клиентов Sysdig.
Статью со сводной информацией можно прочитать здесь.
Коротко:
- 49% контейнеров живут меньше 5 минут, 21% менее 10 секунд
- 74% клиентов сканируют образы в CI/CD, при этом 58% контейнеров запускаются от рута
- Рост использования containerd и CRI-O в 2 раза за 2020 год
- 53% уязвимостей программных компонентов (библиотеки PIP, Ruby и тд) обладают высоким уровнем критичности. Для ОС-компонентов только 4% из всех уязвимостей обладают высоким уровнем критичности.
- Рост использования Falco в 3 раза за 2020 год. Рост использования Prometheus на 16% за 2020 год. И то и то очень удачно вписывается в продажи Sysdig ;)
В отчете очень много информации, которая не относится к security вроде числа нод, подов на хост, статистики алертов и тд.
#ops #k8s #docker #report
Exploring Rootless Docker and User Namespaces
Небольшая статья еще от того года про тестирование rootless docker (экспериментальной фичи Docker 20.10), где автор пробует различные стандартные ситуации.
Возможность создавать rootless-контейнеры базируется на user namespaces. В конце того года вышли сразу две крутые статьи про это.
Improving Kubernetes and container security with user namespaces. Что такое user namespaces, как это спасает от известной CVE-2019-5736, какие на текущий момент есть сложности и как это в теории может работать в Kubernetes.
Evolving Container Security With Linux User Namespaces. О применение user namespaces в Netflix в их системе оркестрации Titus.
P.S. Про rootless-контейнеры я также писал здесь.
#ops #k8s #docker
Небольшая статья еще от того года про тестирование rootless docker (экспериментальной фичи Docker 20.10), где автор пробует различные стандартные ситуации.
Возможность создавать rootless-контейнеры базируется на user namespaces. В конце того года вышли сразу две крутые статьи про это.
Improving Kubernetes and container security with user namespaces. Что такое user namespaces, как это спасает от известной CVE-2019-5736, какие на текущий момент есть сложности и как это в теории может работать в Kubernetes.
Evolving Container Security With Linux User Namespaces. О применение user namespaces в Netflix в их системе оркестрации Titus.
P.S. Про rootless-контейнеры я также писал здесь.
#ops #k8s #docker
raesene.github.io
Exploring Rootless Docker
AquaSecurity_Cloud_Native_Threat_Report_2021.pdf
7.5 MB
Attacks in the Wild on the Container Supply Chain and Infrastructure
Помните отчет от Aqua, где они установили honeypot'ы для определения атак направленных на контейнерную среду? Они выпустили новый отчет, где атак было зафиксировано больше (рост на 26% за квартал), а результаты не менее интересны. Отчет достаточно хорошо описывает векторы атаки, связанные с MITRE ATT&CK, с приложенными скриншотами используемых скриптов.
#attack #docker #k8s #ops
Помните отчет от Aqua, где они установили honeypot'ы для определения атак направленных на контейнерную среду? Они выпустили новый отчет, где атак было зафиксировано больше (рост на 26% за квартал), а результаты не менее интересны. Отчет достаточно хорошо описывает векторы атаки, связанные с MITRE ATT&CK, с приложенными скриншотами используемых скриптов.
#attack #docker #k8s #ops
Cloud-Native Observability and Security Analytics with SysFlow and Falco
Всех с возвращением в рабочие будни. На канале мы их, кстати, начнем с материала про Falco (движок, реализующий обнаружение аномалий в Cloud-Native мире на базе самописных сигнатур). За последние 2 года вопросов к нему было достаточно много с точки зрения качества, но чем дальше, тем сложнее отрицать его колосальную популярность, которая в свою очередь повлияла на появление сторонних проектов. Особенно интересно наблюдать на интеграции этих проектов в 2022 году. На сайте Falco появилась статья "Cloud-Native Observability and Security Analytics with SysFlow and Falco", описывающая потенциальные возможности интеграции проекта SysFlow и Falco Sidekick.
SysFlow - свежий проект, созданный для стандартизации событий систем и расширения их дополнительными данными (источник, процесс, образ, таймштамп, состояние и тд.). Для расширенных событий строится граф связей, применяется процессинг на базе Falco правил и происходит преобразование в телеметрию и алерты.
Falco Sidekick - молодой, но уже достаточно популярный проект, предоставляющий веб-интерфейс для работы с алертами Falco из большого количества источников.
Итого в связке из двух проектов мы получаем достаточно красивое решение для визуалиации поведения злоумышленника на базе экосистемы Falco. Все это еще и красиво экспортируется в Jupyter для последующей аналитики.
#ops #k8s #docker
Всех с возвращением в рабочие будни. На канале мы их, кстати, начнем с материала про Falco (движок, реализующий обнаружение аномалий в Cloud-Native мире на базе самописных сигнатур). За последние 2 года вопросов к нему было достаточно много с точки зрения качества, но чем дальше, тем сложнее отрицать его колосальную популярность, которая в свою очередь повлияла на появление сторонних проектов. Особенно интересно наблюдать на интеграции этих проектов в 2022 году. На сайте Falco появилась статья "Cloud-Native Observability and Security Analytics with SysFlow and Falco", описывающая потенциальные возможности интеграции проекта SysFlow и Falco Sidekick.
SysFlow - свежий проект, созданный для стандартизации событий систем и расширения их дополнительными данными (источник, процесс, образ, таймштамп, состояние и тд.). Для расширенных событий строится граф связей, применяется процессинг на базе Falco правил и происходит преобразование в телеметрию и алерты.
Falco Sidekick - молодой, но уже достаточно популярный проект, предоставляющий веб-интерфейс для работы с алертами Falco из большого количества источников.
Итого в связке из двух проектов мы получаем достаточно красивое решение для визуалиации поведения злоумышленника на базе экосистемы Falco. Все это еще и красиво экспортируется в Jupyter для последующей аналитики.
#ops #k8s #docker
Falco
Cloud-Native Observability and Security Analytics with SysFlow and Falco
Hello, fellow Falcoers! This blog introduces you to a new open system telemetry format and project called SysFlow. The project has deep ties to Falco, the de facto CNCF cloud-native runtime security project.
Falco is exceptional at detecting unexpected application…
Falco is exceptional at detecting unexpected application…
Container and Kubernetes Security Fundamentals
Я уверен, что многие из вас заметили, что мы редко затрагиваем вопросы безопасности Kubernetes и контейнеров, хотя обладаем соответствующей экспертизой. Поэтому вечерком, под чашечку расслабляющего чая, давайте преисполнимся оркестрации.... Мы не могли пройти мимо и решили опубликовать уже не новую, но постоянно обновляемую серию видео и статей от известного исследователя Rory McCune под названием "Kubernetes Security and Container Security Fundamentals" (ссылка на статьи). Материалы охватывают важные аспекты безопасности Kubernetes, включая его компоненты, а также такие механизмы безопасности контейнеров, как capabilities, namespaces, AppArmor, SELinux, cgroups и seccomp-фильтры.
В одном из последних материалов, опубликованных около двух недель назад, рассматривается вопрос авторизации в Kubernetes, включая модули авторизации (AlwaysAllow, AlwaysDeny, Node Authorizer, ABAC, RBAC) и авторизацию на уровне компонентов.
Rory McCune известен своими статьями еще с тех времен, когда работал в Aqua Security. Большую известность он получил как соавтор Kubernetes Benchmark и Docker Benchmark от CIS, а также как автор документа "Guidance for Containers and Container Orchestration Tools" для PCI DSS.
Этот курс идеально подходит для начинающих, а учиться никогда не поздно!Даже ночью 🙃
#k8s #docker #containersecurity
Я уверен, что многие из вас заметили, что мы редко затрагиваем вопросы безопасности Kubernetes и контейнеров, хотя обладаем соответствующей экспертизой. Поэтому вечерком, под чашечку расслабляющего чая, давайте преисполнимся оркестрации.... Мы не могли пройти мимо и решили опубликовать уже не новую, но постоянно обновляемую серию видео и статей от известного исследователя Rory McCune под названием "Kubernetes Security and Container Security Fundamentals" (ссылка на статьи). Материалы охватывают важные аспекты безопасности Kubernetes, включая его компоненты, а также такие механизмы безопасности контейнеров, как capabilities, namespaces, AppArmor, SELinux, cgroups и seccomp-фильтры.
В одном из последних материалов, опубликованных около двух недель назад, рассматривается вопрос авторизации в Kubernetes, включая модули авторизации (AlwaysAllow, AlwaysDeny, Node Authorizer, ABAC, RBAC) и авторизацию на уровне компонентов.
Rory McCune известен своими статьями еще с тех времен, когда работал в Aqua Security. Большую известность он получил как соавтор Kubernetes Benchmark и Docker Benchmark от CIS, а также как автор документа "Guidance for Containers and Container Orchestration Tools" для PCI DSS.
Этот курс идеально подходит для начинающих, а учиться никогда не поздно!
#k8s #docker #containersecurity
YouTube
Security Labs
Share your videos with friends, family, and the world
👍15