> 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="https://418865174-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFu6uaU65JuQBpnFAUDk8%2Fuploads%2FwxxxrXSrLnZ3mWGoCGgs%2Fcap%20drop.png?alt=media&amp;token=cb2393f4-f2d0-446c-a5c0-7289e8c3d6a5" alt=""><figcaption></figcaption></figure>

Agora vamos remover todas as capabilities e adicionar apenas o chown

<figure><img src="https://418865174-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFu6uaU65JuQBpnFAUDk8%2Fuploads%2Fp9JQv7SP1MScjqdth1xd%2Fcap%20add%20and%20drop.png?alt=media&amp;token=3492da5b-9865-46d3-a175-75fb8014fe72" 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.
