> For the complete documentation index, see [llms.txt](https://vida03.gitbook.io/redteam/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vida03.gitbook.io/redteam/docker/defenses/capabilities.md).

# Capabilities

## Apresentação

As capabilities representam a capacidade de um processo acessar um certo recurso, limitando ou disponibilizando tal permissão.

Como visto em [**docker breakout - privileged flag**](/redteam/docker/docker-breakout/privileged-flag.md), nós podemos alcançar acesso ao host utilizando capabilities, dessa vez iremos mostrar como rodar adicionar ou remover certo capabilitie do contêiner

## Implementation

Com o auxílio da flag **--cap-drop** e **--cap-add**, podemos respectivamente remover ou adicionar um capabilitie, podemos utilizar esses argumentos passando o nome da capabilitie que quermos ou dropar ou adicionar

Vamos ver como dropar o **chown**

<figure><img src="/files/feVl9C4ALvO3urHN72fT" alt=""><figcaption></figcaption></figure>

Agora vamos remover todas as capabilities e adicionar apenas o chown

<figure><img src="/files/w1LCQHO9qrCLBvWPOL6U" alt=""><figcaption></figcaption></figure>

> Utilizamos o **apk** para instalar o libcap para podermos utilizar o **capsh** para visualizar as capabilities presentes

Podemos ver que o único capabilitie que a máquina possui é o **cap\_chown**

## Conclusão

Podemos controlar os capabilities para garantir uma maior segurança em nosso contêiner.
