Weaponizing Distroless
Wat is Distroless
Een distroless-container is een type container dat alleen de noodzakelijke afhankelijkheden bevat om een specifieke toepassing uit te voeren, zonder extra software of tools die niet nodig zijn. Deze containers zijn ontworpen om zo lichtgewicht en veilig mogelijk te zijn en ze streven ernaar om het aanvalsoppervlak te minimaliseren door onnodige componenten te verwijderen.
Distroless-containers worden vaak gebruikt in productieomgevingen waar beveiliging en betrouwbaarheid van groot belang zijn.
Enkele voorbeelden van distroless-containers zijn:
Aangeboden door Google: https://console.cloud.google.com/gcr/images/distroless/GLOBAL
Aangeboden door Chainguard: https://github.com/chainguard-images/images/tree/main/images
Bewapening van Distroless
Het doel van het bewapenen van een distroless-container is om in staat te zijn willekeurige binaries en payloads uit te voeren, zelfs met de beperkingen die worden opgelegd door distroless (gebrek aan gangbare binaries in het systeem) en ook beveiligingsmaatregelen die vaak worden aangetroffen in containers, zoals alleen-lezen of niet-uitvoeren in /dev/shm
.
Via het geheugen
Komt op een gegeven moment in 2023...
Via bestaande binaries
openssl
****In deze post wordt uitgelegd dat de binary openssl
vaak wordt aangetroffen in deze containers, mogelijk omdat deze nodig is voor de software die binnen de container wordt uitgevoerd.
Door misbruik te maken van de openssl
binary is het mogelijk om willekeurige dingen uit te voeren.
Last updated