Weaponizing Distroless
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Un contenedor distroless es un tipo de contenedor que contiene solo las dependencias necesarias para ejecutar una aplicación específica, sin ningún software o herramienta adicional que no sea requerida. Estos contenedores están diseñados para ser lo más ligeros y seguros posible, y su objetivo es minimizar la superficie de ataque al eliminar cualquier componente innecesario.
Los contenedores distroless se utilizan a menudo en entornos de producción donde la seguridad y la fiabilidad son primordiales.
Algunos ejemplos de contenedores distroless son:
Proporcionados por Google: https://console.cloud.google.com/gcr/images/distroless/GLOBAL
Proporcionados por Chainguard: https://github.com/chainguard-images/images/tree/main/images
El objetivo de armar un contenedor distroless es poder ejecutar binarios y cargas útiles arbitrarias incluso con las limitaciones implicadas por distroless (falta de binarios comunes en el sistema) y también protecciones comúnmente encontradas en contenedores como solo lectura o sin ejecución en /dev/shm
.
Llegando en algún momento de 2023...
****En esta publicación, se explica que el binario openssl
se encuentra frecuentemente en estos contenedores, potencialmente porque es necesario para el software que se va a ejecutar dentro del contenedor.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)