Weaponizing Distroless

Reading time: 3 minutes

tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Qué es Distroless

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:

Weaponizing Distroless

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.

A través de la memoria

Llegando en algún momento de 2023...

A través de binarios existentes

openssl

****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.

tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks