# Docker excessive capabilities

## Introduction

Les capacités sont des droits spécifiques accordés aux processus dans un système d'exploitation Linux. Elles déterminent ce qu'un processus peut faire et contrôler au sein du système. Voici quelques exemples:

* **CAP\_SYS\_ADMIN**: Il s'agit d'une fonctionnalité fourre-tout, qui peut facilement conduire à des fonctionnalités supplémentaires ou à un accès root complet
* **CAP\_SYS\_MODULE**: Permet d'ajouter ou enlever des modules kernel.
* **CAP\_SYS\_RAWIO**: fournit un certain nombre d'opérations sensibles, notamment l'accès à /dev/mem, /dev/kmem ou /proc/kcore, la modification de mmap\_min\_addr, l'accès aux appels système ioperm et iopl et diverses commandes de disque.
* **CAP\_NET\_ADMIN**: Permet de modifier le pare-feu, les tables de routage, les autorisations de socket, la configuration de l'interface réseau et d'autres paramètres associés des espaces de noms réseau exposés. Cela permet également d'activer le mode promiscuité pour les interfaces réseau connectées et, potentiellement, de surveiller les espaces de noms.
* **CAP\_SYS\_CHROOT**: Permet d'utiliser chroot.
* **CAP\_NET\_RAW**: Permet à un processus de créer des sockets de type RAW et PACKET pour les espaces de noms réseau disponibles. Cela permet la génération et la transmission de paquets arbitraires via les interfaces réseau exposées ce qui peut permettre de contourner la désactivation de la connectivité inter-conteneurs (ICC)
* **CAP\_SYS\_BOOT**: Permet l'utilisation de la commande reboot, cette capacité permet également d'utiliser l'appel système kexec\_load, qui charge un nouveau noyau de crash et à partir de Linux 3.17, le kexec\_file\_load qui charge également les noyaux signés.
* **CAP\_SYSLOG**: Fork dans Linux 2.6.37 à partir du catchall CAP\_SYS\_ADMIN, cette fonctionnalité permet au processus d'utiliser l'appel système syslog. Elle permet également au processus de visualiser les adresses du noyau exposées via /proc et d'autres interfaces lorsque /proc/sys/kernel/kptr\_restrict est défini sur 1.
* **CAP\_DAC\_READ\_SEARCH**: Permet à un processus de contourner les autorisations de lecture de fichiers, de répertoires et d'exécution. Bien que conçu pour la recherche et la lecture de fichiers, il autorise également le processus à invoquer open\_by\_handle\_at. Tout processus doté de la capacité CAP\_DAC\_READ\_SEARCH peut utiliser open\_by\_handle\_at pour accéder à n'importe quel fichier, même hors de son espace de noms de montage.

## Exploitation


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://blog.s1rn3tz.ovh/pentest-conteneurs/docker/docker-excessive-capabilities.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
